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>,

Другие вопросы по тегам