Apache ProxyPass: passe o URL solicitado como parâmetro GET para o URL de destino

1

Oi, estou tentando definir o ProxyPass para passar o URL solicitado como o parâmetro GET para o URL de destino, mas não consigo descobrir como escrevê-lo no arquivo de configuração.

Eu tentei algo assim:

ProxyPass ^(.*)$ http://example.com/?url=$1
ProxyPassReverse ^(.*)$  http://example.com/?url=$1

mas não funciona. Você pode me ajudar por favor? Obrigado!

    
por Crylvarrey 14.05.2016 / 00:12

1 resposta

1

Você deve usar a diretiva ProxyPassMatch se desejar usar uma regex, MAS, conforme observado na % documentação da diretivaProxyPass

url is a partial URL for the remote server and cannot include a query string.

Como resultado, você precisará usar uma RewriteRule directive e defina o [P] flag para fazer com que o pedido seja tratado como um proxy solicitação por mod_proxy .

Embora isso provavelmente precise de alguns ajustes, um ponto de partida pode ser:

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/foo
RewriteRule ^(.*)$ /foo?url=$1 [P]
ProxyPass /foo http://example.com/
ProxyPassReverse /foo http://example.com/
    
por 14.05.2016 / 04:42