nginx http https 共存的配置

2015-02-04 13:15:12 +08:00
 larkifly
我想配置一个服务器,a连接用http访问,b连接https访问,请问怎么配置了,可以配置在一个sever里面嘛?

ps:例如登陆用https,其他额用http,后端用的是webpy框架
7204 次点击
所在节点    NGINX
11 条回复
Showfom
2015-02-04 13:27:03 +08:00
可以的, http 用的是 80 端口,https 用的是 443 端口,只要没有别的程序和这两个端口冲突就没问题。
skyline75489
2015-02-04 13:46:25 +08:00
+1, nginx支持虚拟主机
larkifly
2015-02-04 14:30:58 +08:00
@Showfom 能给个例子嘛?我觉着如果配置在一个server里,那么这个server里所有的连接都支持http和https
Showfom
2015-02-04 14:51:00 +08:00
@larkifly 当然不能一个 server 里 要两个 server 啊
crazycen
2015-02-04 16:03:54 +08:00
我的博客就是的!
larkifly
2015-02-04 17:03:20 +08:00
@Showfom 哦,明白了
soulteary
2015-02-04 17:09:37 +08:00
为啥不看文档...

1.ssl反代80。
2.server段80和443都监听。location匹配到某个地址后,ssl on即可。
maxsec
2015-02-04 17:43:41 +08:00
server{
listen 80;
listen 443 ssl;
......
}
ryd994
2015-02-04 22:19:24 +08:00
其实你需要的是一个正常的HTTP虚拟主机,一个为HTTPS主机301的虚拟主机,加一个HTTPS主机。所以呢不要放在一个server block 里面。你应该有3个server block才对。

@soulteary ssl on这个选项已经不推荐使用。另外在ssl只能在http和server block里用: http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl。更重要的if is evil
soulteary
2015-02-04 22:56:01 +08:00
@ryd994 get√
mengzhuo
2015-02-05 09:18:34 +08:00
我是强制所有Http的请求301到https……

server {
listen 106.186.29.27:80;

server_name .34nm.com;
rewrite ^ https://34nm.com$request_uri? permanent;
}
server {

listen 106.186.29.27:443 ssl spdy;
ssl on;
.....
}

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

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

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

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

© 2021 V2EX