Proxy reverso do Apache - conteúdo ausente

1

aqui está o meu proxy de proxy reverso conf:

ProxyHTMLEnable On
ProxyHTMLExtended On
SetOutputFilter INFLATE;proxy-html;DEFLATE
ProxyHTMLInterp On
ProxyPass / http://10.208.202.2:8762/abc/
ProxyPassReverse / http://10.208.202.2:8762/abc/


ProxyPreserveHost On
RequestHeader set Authorization "Basic"
RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Port "443"

A coisa é quando eu entro / no meu servidor algum conteúdo está faltando. Por exemplo, css, alguns .css devem ser GET de /something/css/wro.css Como suponho que neste caso o conteúdo não está sendo baixado porque o proxy na verdade tenta obtê-lo de /abc/something/css/wro.css que está errado e devolve 404. Então eu tentei adicionar:

ProxyPass /something http://10.208.202.2:8762/something/
ProxyPassReverse /something http://10.208.202.2:8762/something/

Mas isso ainda não funciona, ainda há o mesmo conteúdo css ausente. Também não vejo adicionar todas as localizações no servidor manualmente à configuração como uma boa ideia. Eu adicionei mod html proxy, mas não parece fazer o trabalho aqui. Alguma sugestão, o que posso fazer para que isso funcione sem adicionar a entrada proxypass para todos os locais no servidor?

    
por Chrzciciel 07.02.2018 / 15:14

1 resposta

0

But this still does not do the trick, there is still the same css content missing

O Apache processa as diretivas ProxyPass na ordem em que são declaradas e a primeira correspondência vence. Então, coloque as correspondências mais específicas primeiro

ProxyPass /something http://10.208.202.2:8762/something/
ProxyPassReverse /something http://10.208.202.2:8762/something/
ProxyPass / http://10.208.202.2:8762/abc/
ProxyPassReverse / http://10.208.202.2:8762/abc/

é o pedido necessário, caso contrário, o /something nunca é correspondido.

Any suggestions what can I do, to make this work without adding proxypass entry for every location on the server?

Basicamente, se você quer que uma estrutura de arquivo diferente seja servida, do que está presente no local com proxy, então geralmente você terá que escrever um ProxyPass para cada exceção ao padrão.

Se o que você está tentando alcançar é tornar http://10.208.202.2:8762/abc/index.html a página padrão em seu site, talvez seja melhor fazer isso com um redirecionamento, caso contrário, isso atrapalhará os links relativos a sua página. Algo como isso deve funcionar;

RedirectMatch ^/$ /abc/
    
por 07.02.2018 / 15:53