将HTTP请求重定向到多个域的ELB到HTTPS

时间:2015-09-04 17:24:08

标签: nginx https amazon-elb

我有一个与此帖非常相似的问题: Redirecting EC2 elb from http to https

我正在使用NGINX,我想将所有HTTP请求重定向到我的服务器到HTTPS。以上帖子中的回答可以通过以下方式实现:

index.php

但是,我想扩展一下:
- 如果用户转到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

我想实现这一目标的原因是我从同一台服务器提供多个域。我的每个客户都有自己的子域,但我的应用程序是从同一台服务器提供的。

非常感谢任何帮助或指导!! :)

1 个答案:

答案 0 :(得分:2)

事实证明这很简单,可以使用NGINX $host变量来完成:

if ($http_x_forwarded_proto = 'http') {
    return 301 https://$host$request_uri;
}