さて、基本的に私がやりたいのは、nginxでhttpsページを提供し、httpを使用してそれらをJettyにリダイレクトするリバースプロキシを設定することです。問題は、サーブレットが実際にhttpsを必要とし、httpページに送信されたことを確認するとhttpsアドレスにリダイレクトすることです。
以前は、次を追加して、すべてJetty7で実行していました。
<Set name="forwarded">true</Set>
selectChannelConnectorのjetty.xmlに移動し、Jetty 9にアップグレードすることを決定したので、この構成に代わるものが見つからないようです。以前はJettyで完全に正常に機能していたため、nginxのセットアップに問題はないと確信しています。 7。
これが私のnginx設定の一部であり、私がそこに持っているものをより明確にするためのものです:
location / {
proxy_pass http://127.0.0.1:8080;
include /etc/nginx/proxy_params;
}
これが私の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;
達成するのはかなり簡単なことのようです。 /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>
-->
だから私は盲目だったか、古いバージョンのJetty9にはそのような明白な場所にこのオプションがありませんでした。