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 的 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 在如此明显的地方没有这个选项。

相关内容