Acho que você deseja ativar mod_proxy_http
e definir:
ProxyRemote * http://11.22.11.22:8585
em algum lugar na sua configuração virtualhost.
No meu aplicativo, estou usando a seguinte regra de reescrita:
RewriteRule ^/ajax(.*) http://api.externalserver.com/$1 [P,QSA,L]
Agora, o problema é que minha rede corporativa exige que eu use o proxy HTTP para conexões de internet externas.
Para ilustrar, isso não funciona:
curl -v http://api.externalserver.com/login
Mas isso funciona:
curl -v -x 11.22.11.22:8585 http://api.externalserver.com/login
Como posso fazer o Apache usar o proxy corporativo para solicitações de internet externas?
Você pode instalar o proxy SQUID no modo transparente para fazer proxy de todo o tráfego que vai da máquina local para a Internet.
Para esta primeira regra de adicionar iptables
iptables -t nat -A OUTPUT -p tcp --dport 5555 -j DNAT --to 127.0.0.1:3128
isto irá redirecionar todas as conexões http de saída para o squid local. Em seguida, configure o squid de acordo com este guia e configure-o adicionalmente
cache_peer 11.22.11.22 parent 8585 0 no-query default
never_direct allow all
Isso é tudo. Todo o tráfego de saída para a porta 80 passará pelo proxy da sua organização
Você tentou o tunelamento http, via proxytunnel ou saca-rolhas?
Você precisa configurar um vhost para o seu Apache e usá-lo como um proxy distante.
Talvez a adaptação disso possa ajudar você: link
Acho que o que você está procurando é mod_proxy e mod_proxy_http especificamente:
Depois de definir ProxyRemote
e reiniciar httpd
, se você recebeu o "[erro] (13) Permissão negada: proxy: HTTP: tentativa de conexão para falha", você também precisa executar o seguinte:
setsebool -P httpd_can_network_connect=1
Tags proxy apache-2.2