当前位置: 首页 > 知识库问答 >
问题:

需要HTTPS时使用HTTP的Spring Security重定向URL

拓拔泓
2023-03-14

我的项目体系结构由一个配置了 SSL 的负载均衡器组成。SSL 配置在负载均衡器处终止,请求将转发到 HTTP 的 Web 服务器和应用服务器。当用户首次访问应用程序时,Spring Security会尝试使用HTTP协议重定向到登录页面。由于负载均衡器侦听 HTTPS,因此此请求将失败。

考虑到Web服务器将始终在HTTP上转发到应用程序服务器,我该怎么做才能确保在创建重定向请求时使用HTTPS协议?

注意:AppServer是Jboss EAP 7.3

共有2个答案

李鹏
2023-03-14

我无法弄清楚如何从当前架构的Spring启动中执行此操作。作为一种解决方法,我们在LoadBalancer上添加了一个IRule-它不是拒绝超文本传输协议请求,而是将它们重定向到HTTPS。

邵阳德
2023-03-14

通常,https重定向的简单超文本传输协议使用户需要额外的跳跃,因为他们将在超文本传输协议中返回,然后需要被重定向。这可能是无痛的(尤其是您使用的是HSTS)。通常,从BIG-IP的角度来看,这样做的方式是插入https的X-Forwarded-Proto(xfp)的标头(您可以检查源是否在iText中使用https,或者使用策略插入标头)。

另一部分是让Spring查看xfp标头,而不是服务器URL来确定请求使用的是https。

您是否也尝试过在重定向中消除任何主机或协议名称?我们在任何重定向的相对引用方面运气不错,但我仍然看到一些应用程序发出带有http的302重定向,然后重定向规则反弹回https。

 类似资料:
  • 我的服务器正在从http重定向到HTTPS。我希望允许使用http和HTTPS访问我的应用程序。我怎么能这么做?在我的Wildfly8.2日志中有这样两行:

  • 问题内容: 我正在一个购物车网站上工作,我想在用户输入帐单明细时将用户重定向到HTTPS页面,并保持下一页的HTTPS连接,直到他注销。 为此,我需要在服务器上安装什么(我正在使用Apache),如何从PHP进行重定向? 问题答案: 尝试这样的事情(应该适用于Apache和IIS):

  • 问题内容: __Apache 环境中心 尝试设置从http到https的自动重定向 我尝试将以下内容添加到我的httpd.conf中,但是没有用 有任何想法吗? 问题答案: 我实际上已经遵循了这个示例,并且对我有用:) 然后做:

  • 奇怪的问题。我使用FullCalendar向服务器上的endpoint发起ajax请求。终点是: 请注意,它是显式的HTTPS。但是,当我发起一个请求时(即当Fullcalendar发起一个请求时),我会得到一个301和一个到非HTTPSendpoint的重定向: 因为页面是通过HTTPS加载的,所以失败。 endpoint工作正常--当我将它加载到浏览器中时,我会得到预期的json输出(通过ht

  • 我正在尝试将所有http流量重定向到https。我尚未在服务器上安装SSL证书,并且正在使用cloudflare灵活SSL选项。 以下代码工作文件 但这让http://www.example.com转向了https://example.com 但是当我添加这个 重定向所有非www网址,如http://example.com到https://example.com 网站没有加载,并给我一个错误,说浏

  • 我们使用拉维5。要将http连接重定向到https,请使用中间件HttpsProtocol。 在我们的4个测试用例中,只有1个正确工作(最后一个重定向)。其他3种情况的中间件添加了url extra index.php。 http://www.aqualink.az/index.php ---