Elastic Load Balancer将HTTPS重定向到Tomcat服务器的问题

Ano*_*eri 9 tomcat spring-security http-redirect amazon-web-services amazon-elb

我有一个ELB(Amazon Elastic Load Balancer)配置为在HTTPS上对最终用户请求进行负载平衡,在后端我的应用程序在HTTP上配置的Tomcat服务器上运行.

因此,当我的最终用户向应用程序发出请求时,请求将在HTTPS上,因为他们现在访问ELB,ELB在内部将其重定向到HTTP上的tomcat服务器.在tomcat中,我的应用程序通过Spring Security受到保护,如果请求是针对受保护资源而用户未登录,则会将用户重定向到已配置的登录页面.现在,这种到最终用户的重定向将通过HTTP,因为tomcat服务器最初从ELB获得了请求作为HTTP.这将导致404,因为我没有在HTTP上配置内向流量.

我们如何解决这个问题?唯一的选择是在enduser-ELB和ELB-tomcat上都有HTTPS,或者我在这里遗漏了一些东西?

Fre*_*ung 10

ELB设置一个X-Forwarded-Proto标头,允许您告知客户端用于连接负载均衡器的协议.请参阅文档.

您可以配置spring security以查看此标头,例如,请参阅此答案.