
Я хотел бы, чтобы Apache обрабатывал запросы только на 127.0.0.1, чтобы я мог использовать 127.0.0.2 и т. д. для других приложений, поэтому я попробовал изменить /etc/apache2/sites-enabled/000-default.conf на
<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>
и затем я перезапустил Apache, но это не работает. Никаких других правил vhost нет, вывод apachectl -S
следующий:
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
решение1
TheListen
директива используется для настройки комбинаций адресов и портов, к которым Apache httpd должен привязываться (илислушатьЕсли указан только порт (адрес не указан
), это означает привязку к указанному порту для всех адресов.
TheVirtualHost
директива, с другой стороны, является частью конфигурации того, как отвечать на запросы (например, какой контент обслуживать и т. д.).
Адрес/порт, указанный в этом контексте, используется для выбора того, для каких входящих запросов Apache httpd должен даже пытаться использовать этот VirtualHost
.
Если вы хотите, чтобы Apache httpd привязывался только к 127.0.0.1:80
, вы должны сделать что-то вроде этого в качестве единственной Listen
директивы:
Listen 127.0.0.1:80