Ich bin verwirrt, warum Apache auf Port 80 nicht reagiert ...
$ 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.
... aber stattdessen auf Post 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]
Nicht zu viel zu sehen in der Ausgabe von 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)
Allerdings netstat bestätigt den Hafen:
$ sudo netstat -anp | grep :8080
tcp6 0 0 :::8080 :::* LISTEN 5353/apache2
Wie von Joel gefragt , ist hier das 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
Listen
Direktive in der Konfigurationsdatei?Antworten:
Was ist der Wert der
Listen
Direktive in der Konfigurationsdatei in/etc/apache2/ports.conf
?quelle
Der übliche Grund, warum Apache häufig so konfiguriert ist, dass er diesen Port überwacht, ist, dass ein Prozess unter dem Root-Konto ausgeführt werden muss oder dass bestimmte Berechtigungen erteilt werden müssen, um TCP-Ports überwachen zu können, die niedriger als
1024
der Port sind, und dazu gehört natürlich auch der Port80
.Durch die Verwendung einer höheren, nicht privilegierten Portnummer kann Apache unter einem regulären Konto ohne bestimmte Konfiguration ausgeführt werden.
8080
ist ein leicht zu merkender Ersatz für80
.quelle
httpd
hat diese Einschränkung nicht. Es soll immer als root beginnen und dann auf das von derUser
Direktive angegebene Konto fallen . Tomcat hat diese Einschränkung (muss als Root- oder Nicht-80-Port ausgeführt werden), da es sich um einen Anwendungsserver handelt, da solche Dinge nicht im Vordergrund stehen.