Я пытаюсь получить доступ к работающему Webcit (необходимому почтовому серверу Citadel) с помощью директивы Apache ProxyPass. Это должно быть возможно только в частной сети при использовании порта 2000.
Мои идеи - запретить все, но разрешить только из сети 10.8 (это мой VPN).
Listen 2000
<VirtualHost *:2000>
ProxyRequests On
ProxyVia On
ProxyPass / http://localhost:2000
ProxyPassReverse / http://localhost:2000
<Proxy *>
Order Deny,Allow
Deny from all
Allow from 10.8
</Proxy>
</VirtualHost>
Проблема в том, что когда Webcit работает на порту 2000, он всегда доступен по любому публичному адресу на моем сервере, несмотря на эти настройки VirtualHost. Но я не могу запустить его на порту 80, потому что Apache работает на порту 80. Что я могу сделать, и мне интересно, почему конфигурация Apache VirtualHost вообще игнорируется в этом случае?
Вы пытаетесь привязать и Webcit, и Apache httpd к локальному порту 2000. В ваших настройках Webcit либо полностью доступен, либо вообще недоступен, в зависимости от того, какой сервер первым резервирует порт.
Переместите службу Webcit на другой порт. Затем прокси с порта 2000 на порт службы Webcit.
Однако, как заметил Хэмптон, вероятно, имеет больше смысла использовать брандмауэр.