Configurando o Apache para usar o proxy corporativo para solicitações da Web externas

0

Eu tenho um servidor web Apache em execução na minha intranet.

Eu quero todas as solicitações HTTP / HTTPS externas do meu aplicativo da web Apache para usar o proxy de intranet da minha empresa.

Ambiente

  • Linux v2.6.32-504.12.2.el6.x86_64
  • Red Hat v4.4.7-9
  • Apache v2.2.15

Eu habilitei os seguintes módulos em httpd.conf

  • proxy_module
  • proxy_connect_module
  • proxy_http_module

URLs

  • o site é internal.company.com (http)
  • O proxy é proxy.company.com:1234 (http)
  • O recurso externo é external.site.com (https)

Especificar manualmente o proxy em curl funciona conforme o esperado:

curl -x proxy.company.com:1234 -L external.site.com

Nada disso parece funcionar:

1.

ProxyRequests Off

<Proxy *>
    Order deny,allow
    Allow from all
</Proxy>

ProxyPass external.site.com proxy.company.com:1234
ProxyPassReverse external.site.com proxy.company.com:1234

2.

ProxyRequests On
ProxyRemote external.site.com proxy.company.com:1234
NoProxy .company.com

3.

ProxyRequests On
ProxyRemote * proxy.company.com:1234
NoProxy .company.com

E eu também tentei várias combinações das configurações acima. As informações nos documentos do Apache sobre o Intranet Proxy também não foram muito úteis.

Aprecie realmente qualquer ajuda!

    
por KarlHungus 02.10.2015 / 16:29

1 resposta

0

Apache web app

O Apache não está executando o seu aplicativo da web, é algo como o PHP ou outro manipulador que está executando o aplicativo. O Apache aceita uma conexão e, em seguida, se o URL de destino corresponder a um manipulador de script, passa os dados HTTP para o manipulador de script e, em seguida, retorna a saída para a conexão solicitante. O Apache realmente não controla o que o manipulador de script faz fora do HTTP ou de outros dados que ele devolve.

As opções com as quais você está mexendo são para configurar proxies reversos , que não é o mesmo que um proxy HTTP de saída.

Você precisa configurar o próprio aplicativo Web para usar um proxy para solicitações de saída. Uma busca breve não abre uma maneira fácil de fazer com que todos os aplicativos PHP, por exemplo, usem um proxy para conexões de saída, então isso é algo que esperamos que seu aplicativo suporte.

    
por 02.10.2015 / 17:32