我有一个与这篇文章非常相似的问题:将EC2 elb从http重定向到https
我使用NGINX,我想重定向所有HTTP请求到我的服务器到HTTPS。如上文所述,可以通过以下方式实现:
if ($http_x_forwarded_proto = 'http') {
return 301 https://example.com$request_uri;
}
然而,我想在此展开:
-如果用户去http://example.com,我希望他们被重定向到https://example.com。
-如果他们去http://www.example.com,我希望他们被重定向到https://www.example.com。
-如果用户去http://some-sub-domain.example.com,我希望他们被重定向到https://some-sub-domain.example.com
我想要实现这一点的原因是我从相同的服务器服务多个域。我的每个客户端都有自己的子域,但是我的应用程序从相同的服务器服务。
任何帮助或指导是非常感谢!!:)
事实证明这真的很简单,可以使用NGINX $host
变量来完成:
if ($http_x_forwarded_proto = 'http') {
return 301 https://$host$request_uri;
}