Portanto, no momento, tenho um host virtual configurado em minha instância do Oracle HTTP Server com um ProxyPass como tal:
ProxyPass ^/test/home/ https://example.com/
ProxyPassMatch ^/test/home/(.*)$ https://example.com/$1
ProxyPassReverse ^/test/home/(.*)$ https://example.com/$1
Quando tento acessar https://mywebsite.com/test/home/<url_from_other_server>
a requisição parece estar funcionando conforme o esperado. No entanto, quando tento acessar, https://mywebsite.com/test/home/
ele não está me proxy https://example.com/
, mas sim retornando um erro 404.
O ProxyPassMatch
curinga parece estar funcionando para todos os suburls que tento acessar, mas a ProxyPass
palavra-chave normal não.
Também tentei removê-lo ProxyPass
completamente e recebo o mesmo erro 404 ao tentar acessar /test/home/
Alguém tem alguma ideia do que pode estar causando esse comportamento estranho?
Obrigado.
Seu regex não está correto.
*
significa "zero ou mais ocorrências", entãohttps://mywebsite.com/test/home/
é correspondido por ele. Altere(.*)
para(.+)
, que significa "uma ou mais ocorrências". Então seu ProxyPassMatch não deve mais corresponder a esse URL.Ou apenas remova a linha ProxyPassMatch completamente, é bastante inútil, as urls são tratadas assim pela linha ProxyPass automaticamente.
A questão foi abordada. A configuração correta para esse problema específico é a seguinte:
Remover a barra e adicionar o curinga nos permitiu fazer proxy de qualquer coisa a seguir
/test/home
.Obrigado a todos por sua contribuição.