Jetty 9 上的 https 到 http 反向代理

Jetty 9 上的 https 到 http 反向代理

好的,基本上我想做的是設定一個反向代理來在 nginx 上提供 https 頁面,並使用 http 將它們重定向到 Jetty。問題是 servlet 實際上需要 https,一旦它看到它被傳送到 http 頁面,就會重新導向到 https 位址。

之前我透過添加以下內容在 Jetty 7 下運行它:

<Set name="forwarded">true</Set>

到 jetty.xml for SelectChannelConnector 現在我決定升級到 Jetty 9 我似乎找不到這個配置的任何替代品,我很確定我的 nginx 設定沒有問題,因為它曾經與 Jetty 完美配合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;

答案1

這似乎是一件相當簡單的事。只需要取消註解以下部分/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>
-->

所以我要么是瞎了,要么是舊版本的 Jetty 9 在如此明顯的地方沒有這個選項。

相關內容