2015-09-04 118 views
0

我有非常相似的这个发问: Redirecting EC2 elb from http to https重定向HTTP请求ELB到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

我想做到这一点的原因是,我从服务在同一服务器上的多个域。我的每个客户都将拥有自己的子域,但是我的应用程序由相同的服务器提供。

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

回答

2

原来,这是非常简单的,可与使用NGINX $host变量来完成:

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