Назад | Перейти на главную страницу

Как заставить Apache использовать только один IP (без использования брандмауэра)?

У меня есть сервер с несколькими статическими 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>