Proxy HTTPD Apache - diretiva Negar ignorada

2

Estou executando o CentOS 5.5 com o Apache httpd-2.2.3.

Desejo configurar um servidor proxy que encaminhará solicitações de proxy de um único endereço IP (123.123.123.123 no exemplo abaixo) e rejeitará solicitações de todos os outros endereços.

O problema é que o apache está fazendo o proxy de todas as solicitações pela porta 81 (em vez de apenas as de 123.123.123.123 e negando todo o tráfego restante).

Meu arquivo de configuração é o seguinte:

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>

Este é o único arquivo de configuração com qualquer referência à porta 81. Nenhum proxy de encaminhamento é permitido para o tráfego na porta 80 (ele serve para um site). Eu definitivamente não estou no endereço IP 123.123.123.123 ao fazer esses pedidos via curl / proxy do Firefox para testar.

Comentando o "Permitir de 123.123.123.123" não faz diferença - neste momento, deve simplesmente negar todo o tráfego para a porta 81.

Alguém pode me dizer como corrigir o arquivo de configuração acima para fornecer o comportamento solicitado?

    
por user177660 18.05.2012 / 20:58

1 resposta

2

A string de correspondência para o bloco <Proxy> é para o recurso que está sendo solicitado, não para o ouvinte do servidor.

Experimente <Proxy *> em vez de <Proxy *:81> .

    
por 18.05.2012 / 22:02