A reescrita da cadeia de consulta do Apache não funciona

1

Eu preciso reescrever um nome de domínio em um parâmetro de consulta para aumentar um proxy. O proxy basicamente é apenas uma reescrita do domínio, mas algumas das respostas do servidor upstream incluem um parâmetro de consulta que é eventualmente usado como um redirecionamento (no cabeçalho "Location"). Eu preciso ser capaz de reescrever este nome de domínio para que ele aponte para o proxy em vez do servidor upstream. Minha configuração atual parece

<VirtualHost *:443>

SSLEngine On
SSLProxyEngine On
# Set the path to SSL certificate
# Usage: SSLCertificateFile /path/to/cert.pem
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key

# Servers to proxy the connection, or;
# List of application servers:
# Usage:
# ProxyPass / http://[IP Addr.]:[port]/
# ProxyPassReverse / http://[IP Addr.]:[port]/
# Example:

RewriteEngine On
LogLevel alert rewrite:trace6
RewriteCond %{QUERY_STRING} (.*)upstream\.com(.*)
RewriteRule (.*)upstream\.com(.*)  %1proxy.com%2 [N]

ProxyPass / https://upstream.com/
ProxyPassReverse / https://upstream.com/

</VirtualHost>

O proxy está funcionando bem, mas uma das primeiras coisas que o servidor upstream faz é enviar um redirecionamento com um parâmetro de consulta que é usado para um segundo redirecionamento, o que faz com que o proxy perca o controle do fluxo de tráfego. Eu preciso dessa string de consulta reescrita para que a resposta dos servidores upstream cause um redirecionamento de volta para o proxy em vez do servidor upstream.

mod_rewrite está habilitado e 'apachectl -t' relata que a configuração está OK.

    
por smokes2345 17.11.2016 / 17:54

1 resposta

0

Verifique se você tem o módulo de reescrita digitando no terminal a2enmod Rewrite e reinicie o apache

Por favor, verifique se você tem um AllowOverride em um bloco de diretório dentro do vhost

    
por 17.11.2016 / 20:29