2010-10-15 38 views
75

Tôi sử dụng máy chủ centOS. Tôi muốn định cấu hình apache để nghe trên cổng 8079. Tôi đã thêm LISTEN 8079 chỉ thị trong httpd.conf.
Tôi đã mở cổng 8079 trong iptables và khởi động lại iptables. Tôi thậm chí còn ngừng dịch vụ iptables.Định cấu hình apache để nghe trên cổng khác với 80

"netstat -nal | grep 8079" shows "tcp 0 0 :::8079 :::* LISTEN" 

Nếu tôi cố gắng truy cập http://localhost:8079 hoặc http://myserver.com:8079 từ máy đó, tôi có thể truy cập vào trang đó. NHƯNG từ bất kỳ máy nào khác, tôi không thể truy cập trang web trên bất kỳ cổng nào khác ngoài 80. Trên cổng 80, nó hoạt động. Trên cổng 8079 nó không.

Tôi cần cấu hình gì khác?

Trả lời

19

Đó là sự cố tường lửa. Có một tường lửa phần cứng đã chặn quyền truy cập vào hầu hết tất cả các cổng. (Tắt tường lửa phần mềm/SELinux bla bla không có hiệu lực)

Sau đó, tôi quét các cổng mở và sử dụng cổng đã mở.

Nếu bạn đang phải đối mặt với cùng một vấn đề, Chạy lệnh sau

sudo nmap -T Aggressive -A -v 127.0.0.1 -p 1-65000 

Nó sẽ quét tất cả các cổng mở trên hệ thống của bạn. Bất kỳ cổng nào đang mở có thể được truy cập từ bên ngoài.

Ref:. http://www.go2linux.org/which_service_or_program_is_listening_on_port

+0

netstat -anp | grep apache2 (Bạn có thể thấy cổng nghe và PID từ này nếu nó đang chạy.Ubuntu) – ImranNaqvi

+0

Nhà cung cấp dịch vụ đám mây của tôi có tường lửa trên đầu đang chặn cổng. Kiểm tra tường lửa được đặt khác ngoài máy chủ mục tiêu. – Yamada

66

Mở tệp httpd.conf trong trình chỉnh sửa văn bản của bạn. Tìm dòng này:

Listen 80 

và thay đổi nó

Listen 8079 

Sau khi thay đổi, lưu nó và khởi động lại apache.

+2

có, nhưng tôi đã đề cập trong dòng đầu tiên mà tôi đã thử điều này "Tôi đã thêm LISTEN 8079 chỉ thị trong httpd.conf": (( –

+0

Oh sory. Tôi không nhìn thấy nó.Bạn có thể gửi tập tin httpd.conf bất kỳ ở đâu Và bạn đang sử dụng phần mềm của bên thứ 3 Wamp, Xampp, Appserv? – ismailperim

+0

bạn có thể lấy httpd.conf tại đây http://www.fileuploading.net/860467 chẳng hạn như WAMP, Xampp, Appserv. Tất cả những gì tôi đã làm là biên dịch apache, tomcat và jk kết nối từ nguồn và cố gắng hết sức mình để làm cho họ làm việc cùng nhau –

97

Trong /etc/apache2/ports.conf, thay đổi cổng như

Listen 8079 

Sau đó đi đến /etc/apache2/sites-enabled/000-default.conf

Và thay đổi dòng đầu tiên là

<VirtualHost *: 8079> 

Bây giờ khởi động lại

sudo service apache2 restart 

Apache bây giờ sẽ lắng nghe trên cổng 8079 và chuyển hướng đến/var/www/html

+0

Không làm việc cho tôi ... Bất kỳ suy nghĩ nào khác? – Tomer

+0

bạn có nhận được thông báo lỗi không? –

+0

Không, chỉ là thông báo gây phiền nhiễu "Trang web này không khả dụng". Chỉ cần làm rõ, cổng 80 hoạt động hoàn hảo. Thay đổi cả VirtualHost và Listen không giải quyết nó cho tôi. (AWS ubuntu). BTW lý do tôi cần nó để nghe một cổng khác là vì tôi cũng đã định cấu hình nginx để nghe 80. – Tomer

1

Đối với máy chủ FC22

cd/etc/httpd/conf chỉnh sửa httpd.conf [ nhập]

Thay đổi: Nghe 80 tới: Nghe whatevernumber

Lưu tệp

systemctl restart httpd.dịch vụ [nhập] nếu có yêu cầu, mở whatevernumber trong router của bạn/tường lửa

3

này đang làm việc cho tôi trên Centos

Đầu tiên: trong tập tin /etc/httpd/conf/httpd.conf

thêm

Listen 8079 

sau

Listen 80 

này đến máy chủ của bạn để lắng nghe các cổng 8079

Thứ hai: đi đến máy chủ ảo của bạn cho ex. /etc/httpd/conf.d/vhost.conf

và thêm mã này dưới đây

<VirtualHost *:8079> 
    DocumentRoot /var/www/html/api_folder 
    ServerName example.com 
    ServerAlias www.example.com 
    ServerAdmin [email protected] 
    ErrorLog logs/www.example.com-error_log 
    CustomLog logs/www.example.com-access_log common 
</VirtualHost> 

này có nghĩa là khi bạn đi đến www.example.com:8079 chuyển hướng đến

/var/www/html/api_folder

Nhưng bạn cần phải khởi động lại dịch vụ

sudo service httpd restart

2

Nếu bạn đang sử dụng Apache on Windows:

  1. Kiểm tra tên của dịch vụ Apache với Win + R + services.msc + Nhập (nếu nó không ApacheX.Y, cần có tên của phần mềm bạn đang sử dụng với apache, ví dụ: "wampapache64");
  2. Bắt đầu một command prompt as Administrator (sử dụng Win + R + cmd + Nhập là không đủ);
  3. Thay đổi thành thư mục của Apache, ví dụ:: cd c:\wamp\bin\apache\apache2.4.9\bin;
  4. Kiểm tra xem tệp cấu hình có OK hay không: httpd.exe -n "YourServiceName" -t (thay tên dịch vụ bằng tên bạn đã tìm thấy ở bước 1);
  5. Hãy chắc chắn rằng dịch vụ này được dừng lại: httpd.exe -k stop -n "YourServiceName"
  6. Bắt đầu với: httpd.exe -k start -n "YourServiceName"
  7. Nếu nó bắt đầu ổn, vấn đề không còn ở đó, nhưng nếu bạn nhận được:

    AH00072: make_sock : không thể liên kết với địa chỉ IP: PORT_NUMBER

    AH00451: không có ổ cắm nghe nào, tắt

    Nếu số cổng không phải là số bạn muốn sử dụng, hãy mở tệp cấu hình Apache (ví dụ: C:\wamp\bin\apache\apache2.4.9\conf\httpd.conf mở bằng trình chỉnh sửa mã hoặc bảng chữ cái, nhưng không phải là notepad - nó không đọc dòng mới đúng) và thay số trên dòng bắt đầu bằng Listen với số cổng bạn muốn, lưu và lặp lại bước 6. Nếu nó là một trong những bạn muốn sử dụng, sau đó tiếp tục:

  8. Kiểm tra PID của tiến trình đó là sử dụng cổng đó với Win + R + resmon + Nhập, click vào Mạng tab và sau đó trên Cổng tab phụ;
  9. Giết nó với: taskkill /pid NUMBER /f (/f buộc nó);
  10. Kiểm tra lại resmon để khẳng định rằng cổng là miễn phí ngay bây giờ và lặp lại bước 6.

Điều này đảm bảo rằng dịch vụ của Apache được bắt đầu đúng cách, cấu hình trên virtual hosts config file as sarul mentioned (ví dụ: C:\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf) là cần thiết nếu bạn đang thiết tập tin của bạn đường dẫn trong đó và thay đổi cổng. Nếu bạn thay đổi lại, hãy nhớ khởi động lại dịch vụ: httpd.exe -k restart -n "YourServiceName".

Các vấn đề liên quan