আমি কীভাবে অ্যাপাচি ওয়েব সার্ভারকে দুটি ভিন্ন পোর্টে শুনতে পারি?


45

আমি পোর্ট 80 এবং পোর্ট 8080 শোনার জন্য বাড়িতে অ্যাপাচি ওয়েব সার্ভারটি ইনস্টল করেছি।

আমি জুড়েছেন Listen 8080httpd.conf প্রয়োজন এবং পুনরায় আরম্ভ এ্যাপাচি সেবা কিন্তু সার্ভারটি মধ্যে 8080. Punching শোনা যাবে বলে মনে হচ্ছে না HTTP: // স্থানীয় হোস্ট: 8080 আউট কাল ও আমার index.html কিন্তু প্রদর্শন করা হয় না HTTP: / / লোকালহোস্ট আমার সূচক html প্রদর্শন করবে।

আমি কীভাবে এটি 80 এবং 8080 শুনতে পারি?


আপনি কেন মনে করেন যে এটি 8080 পোর্টে শোনা যাচ্ছে না? আপনার কনফিগারেশনের স্নিপেটগুলি পোস্ট করতেও এটি কার্যকর হতে পারে।
ডেভিড জেড

1
আপনি কি http.conf সম্পাদনার পরে অ্যাপাচি পুনরায় চালু করেছেন?
দানা দ্য সনে

@ ডেভিড আমি আমার প্রশ্নটি 8080 এ কেন শুনছি না তা দেখানোর জন্য আমি আমার প্রশ্ন আপডেট করেছি http এই মুহুর্তে httpd.conf এ অ্যাক্সেস পাবেন না। @ দানা - হ্যাঁ
ওভেন

উত্তর:


63

অ্যাপাচে একটি মানক ডেবিয়ান ইনস্টলের কনফিগারেশনের নিম্নলিখিত অংশ থাকবে:

শুনুন 80

<IfModule mod_ssl.c>
    # এসএসএল নাম ভিত্তিক ভার্চুয়াল হোস্টগুলি এখনও সমর্থিত নয়, তাই না
    # NameVirtualHost বিবৃতি এখানে
    শুনুন 443
</ IfModule>

এটি অ্যাপাচে 80 পোর্ট শুনতে এবং 44_3 পোর্ট শুনতে শুনতে mod_ssl কনফিগার করা থাকলে তা বলছে। আপনার ক্ষেত্রে আপনি চান:

Listen 80
Listen 8080

নতুন শোনার দিকনির্দেশনাগুলিতে কোনও মনোযোগ দেওয়ার জন্য আপনাকে অ্যাপাচে রিলোডলোড অপারেশন নয়, আপনি পুনরায় চালু করতে হবে তা নিশ্চিত করতে হবে। সবচেয়ে নিরাপদ কাজটি হ'ল অ্যাপাচি বন্ধ করা, নিশ্চিত যে এটি মারা গেছে এবং আবার এটি শুরু করুন।

যদি এই কনফিগারেশনটি কাজ না করে, ত্রুটি বার্তাগুলির জন্য লগ ফাইলগুলি পরীক্ষা করুন। 8080 বন্দরটিতে কিছু শুনছে কিনা তা দেখতে আপনি "নেটস্যাট্যাটলেপ --tcp" ব্যবহার করতে পারেন Finally অবশেষে, অন্য সব কিছু যদি কাজ না করে তবে স্ট্রেসের নীচে অ্যাপাচি চালানোর চেষ্টা করুন এটি বন্দরের সাথে আবদ্ধ হওয়ার চেষ্টা করছে এবং ব্যর্থ হচ্ছে, কিন্তু সমস্যা লগ না।


1
অ্যাপাচি ২.৪-তে কোথায় এই কনফিগারেশন খণ্ডটি পাওয়া যাবে? ধন্যবাদ।
Luís de Sousa

2
আমার নিজের প্রশ্নের উত্তর: /etc/apache2/ports.conf
Luís de Sousa

7

এই উত্তর মহান, কিন্তু তারা সম্ভাবনা যে ওয়েন ছেড়ে গেছে আসলে ইতিমধ্যে এই কাজ ( "আমি জুড়েছেন Listen 8080") এর অর্থ হতে পারে ঠিক কি এটা মত শোনাচ্ছে (অর্থাত, কি ডেভিড সুপারিশ করেছে)।

আপনি যদি ইতিমধ্যে এটি করে ফেলেছেন এবং এখনও এটি কাজ করছে না বলে নিশ্চিত হয়ে নিন যে আপনি যে ডিফল্টর সাথে থাকতে পারে তার প্রতিটি সাবডোমেনের জন্য আপনার নির্দেশিকা সঠিকভাবে কনফিগার করেছেন (যদি নামটি শোনার জন্য এটি ম্যানুয়ালি কনফিগার করা হয়েছে: 80 নামের পরে)।

আপনার সম্ভবত এটির মতো নির্দেশ রয়েছে:

<VirtualHost *:80>
 ServerName michaelsanford.com
 etc…
</VirtualHost>

আপনি এটি <VirtualHost *:8080>বা পরিবর্তন করতে হবে <VirtualHost *:*>


আমি সন্দেহ করি এটি আমার সমস্যা। আমি মনে করি একটি <ভার্চুয়ালহস্ট *: 80> নির্দেশনা রয়েছে। আমি এটি পরীক্ষা করতে হবে।
ওপেন

1
যদি আপনার ভার্চুয়াল হোস্ট না থাকে তবে আপনাকে বৈশ্বিক ডকুমেন্টআর্ট থেকে সামগ্রী পরিবেশন করা হবে যা সম্ভবত আপনাকে একটি স্ট্যান্ডার্ড ইনডেক্স html, ডিরেক্টরি সূচক পৃষ্ঠা, একটি 404 বা 403 ত্রুটি দেবে। এটি সময়সীমা শেষ হবে না।
ডেভিড প্যাশলে

2
মনে হচ্ছে আপনার জায়গায় এমন কোনও ফায়ারওয়াল রয়েছে যা নিঃশব্দে প্যাকেট ফেলেছে।
মিসানফোর্ড

দেখা যাচ্ছে যে এটি ফায়ারওয়াল ইস্যু ছিল।
ওপেন

5

ধাপ 1

#vi httpd.conf
Listen 80

<IfModule mod_ssl.c>
    # SSL name based virtual hosts are not yet supported, therefore no
    # NameVirtualHost statement here
    Listen 443
</IfModule>

মোড_এসএল কনফিগার করা থাকলে 80 পোর্টে শুনতে এবং 443 পোর্ট শোনার জন্য httpd (অ্যাপাচি)।

Listen 80
Listen 8080

ধাপ ২

#su - service httpd restart

ধাপ 3

$ netstat -lntp

(সমস্ত প্রক্রিয়া চিহ্নিত করা যায়নি, মালিকানাবিহীন প্রক্রিয়া সম্পর্কিত তথ্য প্রদর্শিত হবে না, এগুলি দেখতে আপনাকে রুট হতে হবে।)

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:47027               0.0.0.0:*                   LISTEN      -                   
tcp        0      0 192.168.1.1:80              0.0.0.0:*                   LISTEN      -                   
tcp        0      0 192.168.1.1:8080            0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      -                   
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      -                   
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      -                   
tcp        0      0 ::ffff:127.0.0.1:45100      :::*                        LISTEN      3149/java           
tcp        0      0 :::111                      :::*                        LISTEN      -                   
tcp        0      0 :::80                       :::*                        LISTEN      -                   
tcp        0      0 :::57173                    :::*                        LISTEN      3149/java           
tcp        0      0 :::18197                    :::*                        LISTEN      3149/java           
tcp        0      0 :::22                       :::*                        LISTEN      -                   
tcp        0      0 ::1:631                     :::*                        LISTEN      -                   
tcp        0      0 :::40832                    :::*                        LISTEN      3149/java           
tcp        0      0 ::ffff:127.0.0.1:6880       :::*                        LISTEN      3149/java       

0

আপনি SELinux সক্ষম করেছেন কিনা তাও পরীক্ষা করে দেখতে চাইতে পারেন। ডিফল্ট SELinux কনফিগারেশন আপনাকে অ-স্ট্যান্ডার্ড পোর্টগুলিতে অ্যাপাচি চালানোর অনুমতি দেয় না। এখানে একটি সাইট যা আপনাকে দেখায় যে আপনি সেলইনাক্স চালাচ্ছেন এবং কীভাবে এটি নিষ্ক্রিয় করবেন, যদি আপনি এর বৈশিষ্ট্যগুলি না চান বা ব্যবহার করেন। http://www.crypt.gen.nz/selinux/disable_selinux.html


অথবা আপনি সেলইনাক্সটি চালু রাখতে পারেন, আপনি যদি একটি আধুনিক সেলইনক্স সিস্টেমে থাকেন তবে দেখুন যে বন্দরগুলি কীভাবে বর্ধন-বন্দর-বন্দর-লেবেলযুক্ত রয়েছে। danwalsh.livej Journal.com/9275.html দেখুন যা শিরোনামযুক্ত "আমি চাইছি আমার অ্যাপাচি ডিমন অন্য একটি বন্দরে শুনতে পাবে কিন্তু সেলিনাক্স এটি আটকাচ্ছে , আমি কী করব?"
রেভ

0

এটি কাজ করার জন্য আপনার কোনও সাইটের 8080 বন্দর কনফিগার করতে হবে। অ্যাপাচি ভার্চুয়াল হোস্টগুলির জন্য ডকুমেন্টেশনগুলির মাধ্যমে পড়ুন । প্রতিটি 'সাইট' নির্দিষ্ট বন্দরগুলিতে সংযুক্তি গ্রহণের জন্য সেট আপ করা যেতে পারে (এবং আইপিস, ইত্যাদি)। আপনার কি আপনার http.conf এ ভার্চুয়াল হোস্ট আছে যা কেবলমাত্র 80 পোর্টের জন্য কনফিগার করা আছে?

এছাড়াও, আপনি নিশ্চিত করতে পারেন যে সার্ভারটি 8080 ব্যবহার করে শুনছে netstat -nlpএবং সেই বন্দরে কোনও এন্ট্রি খুঁজছে।


1
না, এটা ঠিক নেই আপনি যদি কোনও বন্দরে শোনার জন্য অ্যাপাচি চান তবে আপনার শোনার নির্দেশটি ব্যবহার করা দরকার।
ডেভিড প্যাশলে


1
ঠিক আছে, এটি কিছুটা সঠিক হতে পারে - অনেক লোক <ভার্চুয়ালহোস্ট *: 80> এর মতো ভোস্ট তৈরি করে এবং সে ক্ষেত্রে আপনাকে এটি <ভার্চুয়ালহস্ট *: *> এ পরিবর্তন করতে হবে বা 8080 বন্দরটির জন্য অন্য একটি ভোস্ট তৈরি করতে হবে course শোনার নির্দেশনাও প্রয়োজনীয়)
ডেভিড জেড

@ ডেভিড পাশলে, লেখক জানিয়েছেন যে শ্রবণ নির্দেশটি ইতিমধ্যে যুক্ত করা হয়েছিল।
দানা দ্য সনে

0

ধরে নিচ্ছি লিনাক্সটি netstat -lntpরুট হিসাবে চালাবেন আপনি দেখতে পাচ্ছেন অ্যাপাচি 8080 শুনছে কিনা। এটি আপনাকে সমস্যা চিহ্নিত করতে সহায়তা করবে না যদি অ্যাপাচি শ্রবণ না করে বা সংযোগের সময় শেষ করার জন্য অ্যাপাচে কিছু বাহ্যিক (যেমন ফায়ারওয়াল, সেলিনাক্স ইত্যাদি) রয়েছে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.