
Ich möchte, dass Apache nur Anfragen an 127.0.0.1 bearbeitet, damit ich 127.0.0.2 usw. für andere Anwendungen verwenden kann. Daher habe ich versucht, die Datei /etc/apache2/sites-enabled/000-default.conf wie folgt zu ändern:
<VirtualHost 127.0.0.1:80>
ServerName localhost
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
und dann habe ich Apache neu gestartet, aber es funktioniert nicht. Es sind keine anderen vhost-Regeln vorhanden, die Ausgabe apachectl -S
lautet wie folgt:
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
VirtualHost configuration:
127.0.0.1:80 localhost (/etc/apache2/sites-enabled/000-default.conf:1)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex mpm-accept: using_defaults
Mutex watchdog-callback: using_defaults
Mutex default: dir="/var/run/apache2/" mechanism=default
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33 not_used
Group: name="www-data" id=33 not_used
Antwort1
DerListen
Direktive wird verwendet, um zu konfigurieren, an welche Adress-/Port-Kombinationen Apache httpd gebunden werden soll (oderHörenan, wenn Sie so wollen).
Wenn nur ein Port angegeben ist (keine Adresse), bedeutet dies, dass für alle Adressen eine Bindung an den angegebenen Port erfolgt.
DerVirtualHost
Die Direktive hingegen ist Teil der Konfiguration, wie auf Anfragen geantwortet wird (z. B. welche Inhalte bereitgestellt werden sollen usw.).
Die in diesem Kontext angegebene Adresse/der Port wird verwendet, um auszuwählen, für welche eingehenden Anfragen Apache httpd dies überhaupt versuchen soll VirtualHost
.
Wenn Sie möchten, dass Apache httpd nur an bindet 127.0.0.1:80
, würden Sie als einzige Anweisung etwa Folgendes tun Listen
:
Listen 127.0.0.1:80