Eu tenho uma configuração com um HAProxy na frente de um cache Varnish que solicita um servidor Apache2.
O Apache está escutando em um IP interno na Porta 12345 e está configurado com UseCanonicalPhysicalPort Off
para evitar o derramamento dessa porta somente para uso interno. Também testei diferentes combinações de UseCanonicalPhysicalPort
e UseCanonicalName
com On
e Off
. No entanto, apesar dessas diretivas canônicas, o Apache2 parece ter problemas ao receber uma solicitação para um diretório sem uma barra final:
UCPP: On, UCN: Not set:
Request: https://www.example.org/test-page
Response: Redirect(301) to http://www.example.org:12345/test-page/
UCPP: On, UCN: On
Request: https://www.example.org/test-page
Response: Redirect(301) to https://www.example.org:12345/test-page/
UCPP: Off, UCN: Off
Request: https://www.example.org/test-page
Response: Redirect(301) without Location header
Isso obviamente não funcionará, já que essa porta é apenas interna. O site está executando um Joomla, que funciona bem com esta configuração, apenas as pastas que receberiam um redirecionamento do mod_dir não parecem funcionar. Minha configuração do Apache é assim:
<VirtualHost 192.168.150.100:12345>
ServerName www.example.org
UseCanonicalPhysicalPort Off
UseCanonicalName On
<Directory "/var/www/www.example.org">
[...]
</VirtualHost>
Existe uma maneira de impedir esses redirecionamentos? Melhor seria prevenir os redirecionamentos errados dentro do Apache, mas eu estaria aberto para alterações de configuração no Varnish ou no HAProxy.
Observação: Por favor, não sugira usar a porta 80, pois tenho mais de uma porta no Apache usada pelo verniz (uma solução alternativa para fazer o VHosts funcionar melhor) e, portanto, isso não é uma opção.