У меня есть сервер с несколькими статическими IP-адресами (127.0.0.1, 127.0.0.2 и т. Д.). Я хотел бы, чтобы Apache слушал только IP-адрес 127.0.0.1 для каждого домена (виртуальные хосты).
Я пробовал следующее:
# No NameVirtualHost used
Listen 127.0.0.1:80
<VirtualHost one.domain.com>
...
</VirtualHost>
<VirtualHost two.domain.com>
...
</VirtualHost>
Это не сработало так, как хотелось бы, поскольку каждая запись виртуального хоста (и IP-адрес) указывала на первую запись VirtualHost.
Сейчас использую:
NameVirtualHost 127.0.0.1:80
Listen 80
<VirtualHost one.domain.com>
...
</VirtualHost>
<VirtualHost two.domain.com>
...
</VirtualHost>
Но теперь Apache прослушивает каждый IP-адрес сервера.
Ваша первая установка была правильной по идее, неправильной по реализации.
Listen 127.0.0.1:80
NameVirtualHost 127.0.0.1:80
<VirtualHost 127.0.0.1:80>
ServerName one.domain.com
...
</VirtualHost>
<VirtualHost 127.0.0.1:80>
ServerName two.domain.com
...
</VirtualHost>