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

Привязать VirtualHost к сетевому интерфейсу

В Apache2 можно ли привязать VirtualHost к другому IP-интерфейсу, отличному от других виртуальных хостов, или к серверу по умолчанию Listen адрес?

Цель состоит в том, чтобы иметь веб-сервер, который обслуживает некоторые общедоступные сайты, а также некоторые сайты интрасети через интерфейс VPN.

Я полагаю, что другим подходом было бы сделать .htaccess файл, который требует паролей от всех, кроме исходных адресов VPN, но я бы предпочел быть с этим очень осторожным и просто не делать сайты общедоступными в первую очередь.

Заранее большое спасибо!

Почему бы не попробовать вот так (если у вас есть доступ к файлу apache2 conf, не так ли?)

<VirtualHost 111.22.33.55:8080>
ServerName www-cache.domain.tld
...
  <Directory proxy:>
  Order Deny,Allow
  Deny from all
  Allow from 111.22.33  (IP OF THE VPN CONN)
  </Directory>
</VirtualHost>

Вы должны быть Listening на всех интерфейсах и портах, на которых будут видны все ваши хосты. Тогда адресная часть VirtualHost пределы того, какой адрес обслуживает какой сайт. Именованные виртуальные хосты даже лучше для безопасности, поскольку имя сервера в URL-адресе будет дополнительно определять, какой контент исходит с какого адреса.