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

Прокси-сервер 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.

Может ли кто-нибудь сказать мне, как исправить указанный выше файл конфигурации, чтобы обеспечить требуемое поведение?

Строка соответствия для <Proxy> блок предназначен для запрашиваемого ресурса, а не для слушателя сервера.

Пытаться <Proxy *> вместо того <Proxy *:81>.