加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

使用Spring Security需要通道和Amazon Elastic Load Balancer的

发布时间:2020-12-15 01:35:10 所属栏目:大数据 来源:网络整理
导读:我正在尝试使用Amazon Elastic Load Balancer(ELB)在服务器上运行Spring安全性. ELB在端口80上配置为在端口8080和端口443上转发到我的应用程序以转发到8080. 每当我访问此页面时,我都会进入登录循环.不知道怎么解决这个问题?不确定Spring Security是否存在

我正在尝试使用Amazon Elastic Load Balancer(ELB)在服务器上运行Spring安全性. ELB在端口80上配置为在端口8080和端口443上转发到我的应用程序以转发到8080.

每当我访问此页面时,我都会进入登录循环.不知道怎么解决这个问题?不确定Spring Security是否存在问题,因为ELB是从端口8080的https端口443到我的应用程序的前向流量.

最佳答案
事实证明,Spring Security使用ServletRequest.getServerPort()来确定它是否使用安全端口.我的tomcat是使用8080和8443配置的,所以当ELB将请求从443转发到8443的内部tomcat时,webapp不接受这个作为安全端口:

20 Jun 18:16:49,184 ["http-bio-8443"-exec-5] DEBUG org.springframework.security. web.access.channel.RetryWithHttpsEntryPoint  - Redirecting to: /login.xhtml

我也试过使用代理端口,但无法让它工作.
此外,如果您将spring安全端口配置为使用8443,那么它不会正确地重定向(它会将应用程序重定向到8443,而外部不存在).

长话短说……以下设置有效:
ELB向前80-> 80和443-> 443.
设置tomcat使用80和443.
设置端口映射以在Spring Security上使用80和443

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读