Ok, basicamente o que eu quero fazer é configurar um proxy reverso para servir páginas https no nginx e redirecioná-las para o Jetty usando http. O problema é que o servlet realmente requer https e redireciona para o endereço https assim que percebe que foi enviado para a página http.
Anteriormente, eu tinha tudo rodando no Jetty 7 adicionando:
<Set name="forwarded">true</Set>
para jetty.xml para SelectChannelConnector e agora que decidi atualizar para Jetty 9, não consigo encontrar nenhum substituto para esta configuração e tenho certeza de que não há problema com minha configuração do nginx, pois costumava funcionar perfeitamente bem com Jetty 7.
Aqui está uma parte da minha configuração do nginx apenas para deixar as coisas mais claras sobre o que tenho lá:
location / {
proxy_pass http://127.0.0.1:8080;
include /etc/nginx/proxy_params;
}
Enquanto aqui está meu arquivo proxy_params:
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
Responder1
Parece ser algo bastante simples de conseguir. Basta descomentar a seguinte parte em /etc/jetty.xml
:
<!-- Uncomment to enable handling of X-Forwarded- style headers
<Call name="addCustomizer">
<Arg><New class="org.eclipse.jetty.server.ForwardedRequestCustomizer"/></Arg>
</Call>
-->
então eu era cego ou a versão mais antiga do Jetty 9 não tinha essa opção em um lugar tão óbvio.