Aws Elastic Load Balancer

时间:2016-06-02 08:35:49

标签: amazon-web-services amazon-elb

我在端口3000上的EC2实例上运行NodeJS应用程序而没有任何apache或nginx。我已经在启用SSL的情况下设置了ELB(ELB上的ACM)。现在我想用https打开我的web-app网址。我已经将端口443请求重定向到https上打开的端口3000。同样我想要使用端口80请求与443一起然后最终到端口3000,因为如果有人请求端口80用于web-app url,它也应该重定向到https然后最终在端口3000上。< / p>

那么你能告诉我如何在ELB上为端口80请求实现此功能,这也是用https打开的。我的端口3000在EC2实例上的http上。

端口443 https ----&gt; port(3000)http(工作)

端口80(http)----&gt;想用https(443)打开-----&gt;端口(3000)http(这个我想实现)

2 个答案:

答案 0 :(得分:2)

我担心ELB没有内置支持此功能。这是您的网络应用程序需要处理的东西。 您可以将ELB设置为将端口80转发到端口3000,然后在您的应用中,您需要检查X-Forwarded-Proto标头;如果这不是https,那么您将向端口443发出重定向。

Amazon's X-Forwarded Docs

答案 1 :(得分:-1)

为了解决这个问题,我们需要在端口80上运行一些可能是示例nodeJS应用程序或任何默认网页(html或php),然后将端口80请求重定向到端口443,端口443将重定向到端口3000 (在aws ELB中设置)运行实际的NodeJS应用程序。