Apache HTTPD прокси - директива Deny игнорируется
Я использую CentOS 5.5 со стандартным Apache httpd-2.2.3.
Я хочу настроить прокси-сервер, который будет перенаправлять запросы прокси с одного IP-адреса (123.123.123.123 в приведенном ниже примере) и отклонять запросы со всех других адресов.
Проблема заключается в том, что apache передает все запросы через порт 81 (а не только из 123.123.123.123 и запрещает весь другой трафик).
Мой файл конфигурации выглядит следующим образом:
Listen 81
<VirtualHost *:81>
ServerName my.server.com
ProxyRequests On
ProxyVia On
<Proxy *:81>
Order Deny,Allow
Deny from all
Allow from 123.123.123.123
</Proxy>
ErrorLog /var/log/httpd/proxy-error.log
TransferLog /var/log/httpd/proxy-transfer.log
LogLevel debug
</VirtualHost>
Это единственный файл конфигурации с любой ссылкой на порт 81. Прямое проксирование не разрешено для трафика через порт 80 (он обслуживает веб-сайт). Я определенно не на IP-адрес 123.123.123.123 при выполнении этих запросов через прокси-сервер curl/Firefox для тестирования.
Закомментирование "Разрешить от 123.123.123.123" не имеет значения - на этом этапе он должен просто запретить весь трафик на порт 81.
Может кто-нибудь сказать мне, как исправить вышеуказанный файл конфигурации, чтобы обеспечить запрошенное поведение?
1 ответ
Строка соответствия для <Proxy>
Блок предназначен для запрашиваемого ресурса, а не слушателя сервера.
Пытаться <Proxy *>
вместо <Proxy *:81>
,