Amazon web services 弹性负载平衡器

Amazon web services 弹性负载平衡器,amazon-web-services,amazon-elb,Amazon Web Services,Amazon Elb,我在端口3000的EC2实例上运行NodeJS应用程序,没有任何apache或nginx。我在前面设置了启用SSL的ELB(ELB上的ACM)。现在我想始终使用https打开我的web应用程序url。我已将端口443请求重定向到在https上打开的端口3000。我想对端口80做同样的处理,请求443,然后最终到达端口3000,因为如果有人用端口80请求web应用url,该url也应该重定向到https,然后到达端口3000 那么,您能告诉我如何在ELB上实现同样使用https打开的端口80请求。

我在端口3000的EC2实例上运行NodeJS应用程序,没有任何apache或nginx。我在前面设置了启用SSL的ELB(ELB上的ACM)。现在我想始终使用https打开我的web应用程序url。我已将端口443请求重定向到在https上打开的端口3000。我想对端口80做同样的处理,请求443,然后最终到达端口3000,因为如果有人用端口80请求web应用url,该url也应该重定向到https,然后到达端口3000

那么,您能告诉我如何在ELB上实现同样使用https打开的端口80请求。我的端口3000位于EC2实例上的http上

端口443 https-->端口(3000)http(其工作)


端口80(http)--->要使用https(443)--->端口3000(我要实现此功能)

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


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

您不能使用AWS ELB强制https,您必须将该设置添加到web服务器中。