gpt4 book ai didi

nginx - 如何避免 Wicket 将页面从 HTTPS 重定向到 HTTP

转载 作者:行者123 更新时间:2023-12-04 08:25:24 24 4
gpt4 key购买 nike

我使用 wicket 8.10,它安装在 tomcat 上并由 nginx 代理。在 nginx 配置中配置的 SSL 证书。 Nginx 还将所有 HTTP 请求转发到 HTTPS。
问题如下:
当我提交任何表单时, Wicket 口返回响应 header ,其中 Location 标记包含带有 HTTP 协议(protocol)的 url。
为什么它很重要:
当位置包含 HTTPS 打开的页面上的 HTTP 协议(protocol)时,最后一次 chrome 更新使浏览器显示警报。在此之前,nginx 悄悄地重定向请求,但现在用户从浏览器看到警报页面(类似于证书无效或不存在时)。

最佳答案

这里的问题是您的 Wicket 应用程序不知道它在代理后面。
有两种解决方案:

  • 使用 XForwardedRequestWrapperFactory

  • 它将用 X-Forwarded-*** 包装 Tomcat 的 HttpServletRequest。请求 header 。
    只要确保 Nginx 导出 X-Forwarded-Proto请求头
  • 使用 HttpsMapper

  • 只需覆盖 protected Scheme getDesiredSchemeFor(Class<? extends IRequestablePage> pageClass)返回 Scheme.HTTPS在生产模式和 Scheme.HTTP在开发模式下(我假设您在开发时不使用 Nginx 代理)

    关于nginx - 如何避免 Wicket 将页面从 HTTPS 重定向到 HTTP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65285754/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com