Amazon web services 在Elastic BeansTalk、Tomcat、Nginx中将Http重定向到Https

Amazon web services 在Elastic BeansTalk、Tomcat、Nginx中将Http重定向到Https,amazon-web-services,tomcat,nginx,spring-boot,amazon-elastic-beanstalk,Amazon Web Services,Tomcat,Nginx,Spring Boot,Amazon Elastic Beanstalk,我有一个spring引导应用程序(1.5.3),它运行在Tomcat容器上,Nginx作为负载平衡器。 我创建了以下文件: .ebextentions/nginx/conf.d/myapp.conf 基于此,我添加了以下内容: 我已经在证书管理器中安装了SSL证书,并在我的环境中进行了设置。现在,应用程序同时提供HTTP和https请求。我想将所有HTTP请求重定向到https,而不陷入重定向循环。但是不起作用 我认为不应该将服务器部分添加到.conf文件中。整个.conf文件应如下所示: i

我有一个spring引导应用程序(1.5.3),它运行在Tomcat容器上,Nginx作为负载平衡器。 我创建了以下文件:

.ebextentions/nginx/conf.d/myapp.conf
基于此,我添加了以下内容:


我已经在证书管理器中安装了SSL证书,并在我的环境中进行了设置。现在,应用程序同时提供HTTP和https请求。我想将所有HTTP请求重定向到https,而不陷入重定向循环。但是不起作用

我认为不应该将
服务器部分添加到.conf文件中。整个.conf文件应如下所示:

if ($http_x_forwarded_proto = 'http') {
    return 301 https://www.example.com$request_uri;
}

请参阅。

在我的负载平衡器中,端口80指向实例端口5000,今天我检查日志,5000请求从未通过nginx。所以我再次将实例端口更改为80,它开始工作。对于其他无法正常工作的用户,请确保端口80仅指向实例端口80。如何将
.ebextensions
放入WAR文件进行部署,以及负载平衡器如何从WAR内部读取该文件?文件路径必须为
/.ebextensions/nginx/conf.d/elasticbeanstalk/
。看见
if ($http_x_forwarded_proto = 'http') {
    return 301 https://www.example.com$request_uri;
}