ELB Nginx将http重定向到https

时间:2018-03-09 13:23:28

标签: spring-boot nginx amazon-elb

所以这是我的配置:

server {
      listen         80;
      server_name    *.example.com;
      if ($http_x_forwarded_proto = 'http') {            
        return 301 https://$server_name$request_uri;
        }
}

当我去example.com时,nginx将我重定向到https://example.com,但该页面是stub nginx index.html。 如果我去www.example.com它会保持不安全,所以根本不会重定向。

我做错了什么? 感谢。

编辑: 当我喜欢这篇文章时:https://aws.amazon.com/premiumsupport/knowledge-center/redirect-http-https-elb/

return 301 https:// $ server_name $ request_uri $ http_x_forwarded_proto;

然后重定向https://example.com/http 当然它是404因为http端点是愚蠢的。

1 个答案:

答案 0 :(得分:1)

你真的应该避免使用"如果"在nginx中,它是一个性能杀手。

你应该使用它:

server {
  listen      80;
  server_name *.example.com;

  ## redirect http to https ##
  return 301 https://example.com$request_uri;
}

并定义您的" example.com"服务器

如果elb正确设置为向example.com发送443请求,并且如果你在example.com:443上有一个监听套接字,那就没问题。