nginx https 设置求教

2017-05-16 13:18:56 +08:00
 dotpig

我要将 http 重定向到 https,用了如下设置:

server {
    listen      80;
    server_name signup.mysite.com;
    return 301 https://$server_name$request_uri;
}

但是,这个会把所有 80 端口的访问都重定向到 443 端口。我的要求是内网访问的时候不重定向,即 http 还是 http。请问我该如何设置?

4126 次点击
所在节点    NGINX
22 条回复
kenshin912
2017-05-17 10:54:21 +08:00
geo $intranet{
default 0;
192.168.0.0/24 1;
}
server {
listen 80;
server_name signup.mysite.com;
if ($intranet) {
return 301 http://$server_name$request_uri;
}
return 301 https://$server_name$request_uri;
}

这样看看呢?
dotpig
2017-05-18 10:00:57 +08:00
谢谢各位的回答。问题找到了,之前的修改是对的,但是,我重启 nginx 服务用的是系统的服务控制,但是这个根本就没真正重启 nginx,所以 conf 的修改当然没有起效。后来直接 nginx -s reload,终于加载新的配置文件了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/361664

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX