Tại sao Apache chạy trên cổng 8080 thay vì trên cổng 80?


7

Tôi bối rối tại sao Apache không phản hồi trên cổng 80 ...

$ wget http://localhost:80  
--2014-05-06 15:32:44--  http://localhost/
Resolving localhost (localhost)... 127.0.0.1
Connecting to localhost (localhost)|127.0.0.1|:80... failed: Connection refused.

... nhưng thay vào đó trên bài 8080 ...

$ wget http://localhost:8080
--2014-05-06 15:32:38--  http://localhost:8080/
Resolving localhost (localhost)... 127.0.0.1
Connecting to localhost (localhost)|127.0.0.1|:8080... connected.
HTTP request sent, awaiting response... 200 OK
Length: 177 [text/html]
Saving to: index.html

100%[=================================================>] 177 --.-K/s   in 0s

2014-05-06 15:32:38 (16,4 MB/s) - index.html saved [177/177]

Không quá nhiều khi thấy trong đầu ra của apache2ctl :

$ apache2ctl -t -D DUMP_VHOSTS
VirtualHost configuration:
*:80 is a NameVirtualHost
   default server localhost (/etc/apache2/sites-enabled/000-default.conf:1)
   port 80 namevhost localhost (/etc/apache2/sites-enabled/000-default.conf:1)
   port 80 namevhost localhost (/etc/apache2/sites-enabled/000-default.conf:1)

Tuy nhiên, netstat xác nhận cổng:

$ sudo netstat -anp | grep :8080
tcp6       0      0 :::8080        :::*       LISTEN      5353/apache2

Như Joel hỏi ở đây là ports.conf:

$ sudo cat /etc/apache2/ports.conf
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default

Listen 8080

<IfModule ssl_module>
    Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    Listen 443
</IfModule>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
# NameVirtualHost *:8800
Listen 8800

Giá trị của lệnh Listentrong tệp cấu hình là gì?
Bratchley

@JoelDavis Lạ. Làm thế nào đến? Tôi không thể nhớ rằng tôi đã cấu hình cổng theo cách thủ công (đây là máy Ubuntu mới cài đặt). Vui lòng chuyển đổi nhận xét của bạn để trả lời nếu đây là giải pháp cuối cùng.
JJD

Câu trả lời:


1

Giá trị của lệnh Listentrong tệp cấu hình là /etc/apache2/ports.confgì?


5

Tại sao Apache chạy trên cổng 8080 thay vì trên cổng 80?

Lý do thông thường tại sao apache thường được cấu hình để nghe trên cổng đó là một quá trình cần phải được chạy trong tài khoản gốc hoặc được cấp các đặc quyền cụ thể để có thể nghe trên các cổng TCP thấp hơn 1024và bao gồm cả cổng tất nhiên 80.

Sử dụng số cổng cao hơn, không có đặc quyền cho phép chạy apache trong tài khoản thông thường mà không cần bất kỳ cấu hình cụ thể nào.

8080là một thay thế dễ nhớ cho 80.


Có điểm nào trong quá trình cài đặt Apache2 nơi người dùng có thể quyết định tài khoản nào được sử dụng để chạy dịch vụ không?
JJD

2
@jillagre Apache httpdkhông có giới hạn này. Nó được cho là luôn luôn bắt đầu với quyền root và sau đó thả xuống tài khoản được chỉ định bởi Userchính lệnh đó. Tomcat có giới hạn này (phải chạy dưới dạng root hoặc cổng không phải 80) bởi vì đó là một máy chủ ứng dụng vì vậy những thứ như vậy không phải là trọng tâm chính của nó.
Bratchley

1
tại JJD Theo như tôi biết, không phải với gói apache2 ubfox. @JoelDavis Bạn đúng 8080 là cổng Tomcat mặc định và apache2 đóng gói được thiết kế để bắt đầu với quyền root. Tuy nhiên, nếu người dùng không root muốn cài đặt apache từ nguồn hoặc apache2 nên được cài đặt và bắt đầu là không root vì một số lý do khác, điểm vẫn còn hiệu lực. Apache không yêu cầu được chạy như root.
jlliagre
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.