我的目标是443(ALB)-> 8080(TOMCAT)
我正在8080上运行EC2 Tomcat实例。
这是8080上的tomcat apr连接器
<Connector protocol="org.apache.coyote.http11.Http11AprProtocol"
port="8080" scheme="http"
/>
我有一个侦听443并带有证书的ALB,并设置为传递给目标组8080。
因此,想法是https://www.website.com/myapp-> www.mywebsite.com:8080/myapp
我知道我的应用程序运行良好,因为如果我公开访问8080,则可以完全运行该应用程序。
我配置错误,因为当我访问该网站时 https://www.website.com/myapp
我似乎被重定向到: www.website.com/myapp
似乎我可以达到tomcat的要求,但是当它响应时,它会将我重定向回http。我在做什么错了?
谢谢!
答案 0 :(得分:1)
Spring Boot应用程序使用tomcat服务器在8080上运行。 其他应用程序/服务器(如apache2)在80端口上运行。 理想情况下,ALB应该指向80端口,并且您应该在80处设置代理,以将您的请求委托给tomcat(port:8080)
这是请求的流向:
因此,您缺少第3步,这很简单。您可以阅读https://stackoverflow.com/a/33704078/1074100进行配置。
更不用说,您的域应指向ALB。这可以在Route53中完成。这有助于ALB接收浏览器发出的请求。基本上是第一步工作。
答案 1 :(得分:0)
您可以在负载均衡器中使用“重定向”规则将请求从HTTPS重定向到8080端口。
步骤:
转到负载均衡器
添加新的侦听器规则,以将HTTPS重定向到8080。
我希望这会有所帮助!
答案 2 :(得分:0)
对我有用的是: 我添加了2个听众:
要重定向,请使用HTTP(80)-> HTTPS(443)
然后是第二个侦听器,即转发规则HTTPS(443)-> ALB的“我的目标”