将 http 重定向到 Elastic BeansTalk、Tomcat、nginx 中的 https



我有一个 Spring 启动应用程序 (1.5.3(,它运行在以 Nginx 作为负载均衡器的 Tomcat 容器上。 我创建了以下文件:

.ebextentions/nginx/conf.d/myapp.conf

我根据这篇文章添加了以下内容:

server {
if ($http_x_forwarded_proto != 'https') {
rewrite ^(.*) https://$host$1 redirect;
}
}

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

我认为您不应该将server部分添加到 .conf 文件中。整个 .conf 文件应该是这样的:

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

请参阅有关服务器故障的答案。

最新更新