1
binghe 2017-03-20 12:45:21 +08:00
程序问题?
|
2
wevsty 2017-03-20 12:52:57 +08:00
搜索关键词 nginx tls sni
应该能帮到你 |
4
mingyi0 2017-03-20 12:58:59 +08:00
Q : Nginx 是什么样的规则,把只有 HTTPS 访问的网站的非 http 请求导入到同 ip 下面的不同域名前缀的网站呢?
如果你的 A 站改为 HTTPS 了,那么正常情况他的端口就变成了 443 ssl ,这时候你访问 HTTP 的 A 站,相当于访问 80 端口,但是 80 端口中已经没有 A 的 server name 了, nginx 会根据首字母排序默认访问第一个站,你服务器上就 A 、 B 两站,所以就会访问 B 站了。如果我建议你把 A 站的 80 做一个 rewrite 跳转,类似 rewrite ^(.*)$ https://$host$1 permanent; |
7
mingyi0 2017-03-20 14:34:25 +08:00
@awanabe 没有限制吧,比如你通过 IP 访问,现在默认也会跳到 B 站吧,可以看看文档: http://nginx.org/en/docs/http/server_names.html
|
8
msg7086 2017-03-20 15:15:20 +08:00
Nginx 下需要让一个网站同时监听 80 和 443 。你看看你是不是把 A 站里 80 端口监听去掉了。
|
9
msg7086 2017-03-20 15:17:07 +08:00
如果你需要 80 跳转 443 的:
server: listen 80; server_name A; rewrite 到 https; server: listen 443 ssl; server_name A; A 站; server: listen 80; server_name B; B 站; 你看看你是不是这么设定的,如果不是的话那应该就有问题了。 |
10
awanabe OP @msg7086 是去掉了 A 站的 listen80 , 现在已经加上了 A 站的 80 , rewrite 到 443 了。
|
12
awanabe OP |
13
msg7086 2017-03-20 15:30:46 +08:00
@awanabe 504 是什么鬼。
要防止 IP 被访问的话,是要单独给 server_name 配一个 default 然后 return 403 之类的。 去掉 listen 80 的话,当然会漏给其他虚拟主机了。 |
14
ETiV 2017-03-20 15:32:13 +08:00 via iPhone
通常这么多人在回复但还没有解决问题,一般是 LZ 问题描述的不好
要不直接上配置吧 |
15
awanabe OP @ETiV 又不是解决问题, 解决问题我早就搞定了, 一句话加上 rewrite 就行。
只是不懂 nginx 的 default server 规则。 所以你懂么? |
16
awanabe OP |
17
awanabe OP @msg7086 那我的理解, 就是当 listen80 只有一个的时候其实就是 default server 了。。这个有点坑, 很容易就踩进去了。 本来以为 server name 就是用来去强制隔离的
|
18
msg7086 2017-03-20 15:46:51 +08:00
@awanabe 502 只有在 proxy_pass 的对象无法访问的时候才会出现。
你这种情况要炸也只会炸 500 。 这里 Nginx 找不到匹配的 server_name ,也没有 default 的情况下,默认是漏给第一个 server 块(也即意味着第一个块是 catch-all 块)。你网站上只有 A 和 B ,没了 A ,这个端口上只剩 B ,当然就漏去 B 了。 |
19
awanabe OP @msg7086 嗯,应该就是这样的规则,踩了坑,所以做切换还是提醒自己,把 http rewrite 到 https 上去
|
20
lan894734188 2017-03-20 16:14:03 +08:00 via Android
https 要设成监听 80 443
|
21
Joway 2017-03-20 18:48:05 +08:00
... 我还把网址给点进去了
|
23
LevineChen 2017-03-21 00:31:39 +08:00 via iPhone
看看是不是 index 后面没有加;号
|
24
uzumaki 2017-03-21 03:37:16 +08:00 via Android
lz 你需要个 linux 面板 在慢慢测试 修改问题
|
25
awanabe OP @LevineChen 挂 uwsgi 没有 index 选项,已经解决了 。
`加上了 A 站的 80 , rewrite 到 443 了` |