这个 nginx 的问题让我郁闷了

2017 年 5 月 13 日
 hippoking
国内一台主服务器放在阿里云,用 nginx 服务国内客户
另外一台阿里云 HKB 的服务器,用 nginx 反代国内的主服务器来服务国外客户

然后郁闷的事情出现了,阿里云 HKB 的那台 nginx,反代的是国内 nginx 服务器的 80 端口,刚开始没有问题,然后大约一个小时以后就开始 502, 无论是重起 nginx 还是重启服务器都没用. 因为这台服务器上就只有 nginx 服务,所以也不会有 php-fpm 的问题. 无意中我把反代的源端端口改成 88 (源服务器开了 80,88 两个 http 服务端口),监控了好几天,502 的问题就没有了

然后同样的 nginx 配置我放在香港其他的云上,同样是反代 80 端口,一直都没有任何问题

这个问题让我郁闷了快一个星期了,就是查不到问题在哪

很明显的是我的 nginx 配置没有问题,难道是反代 80 端口,触发了阿里云的什么保护规则?
6051 次点击
所在节点    NGINX
24 条回复
ericFork
2017 年 5 月 13 日
HKB 的机器 502 时的 nginx error log 看了没?
hippoking
2017 年 5 月 13 日
@ericFork #1 看了

就是(error 104: Connection reset by peer) while reading response header from upstream

google 上写的都是什么 php-fpm, fastcgi 缓存什么的
ericFork
2017 年 5 月 13 日
@hippoking #2 80 端口可能有较频繁或者强度较高的检测(阿里云或墙),而这个检测有时可能抽风导致把你给误 RST 了,或者回源时恰好触发了关键词

个人建议:源站启用 https,反代同样走 https 回源。
hippoking
2017 年 5 月 13 日
@ericFork #3 嗯看来应该是阿里云的检测。。。因为我用其他的香港的服务器,就没有任何问题。。
hippoking
2017 年 5 月 13 日
@ericFork #3 在 HK 的反代上,我用的是 http IP 的形式,如果改成 https 反代的形式, 这个对 IP 的 https,需要买证书吗?还是自己签发一个内部使用就可以了
pubby
2017 年 5 月 13 日
@hippoking 自签就行
ericFork
2017 年 5 月 13 日
@hippoking #5 自己签就可以,或者用 ssl-cert 这个包(如果是 debian 系发行版)生成的 snakeoil 就可以了
nginx 走 https 回源时,默认并不验证证书身份,而你这里也并没有验证的必要
hippoking
2017 年 5 月 13 日
@ericFork #7 明白了, 这个是需要对 IP 使用 ssl 对吧? 貌似我还没见过对 IP 进行 ssl 的
ericFork
2017 年 5 月 13 日
@hippoking #8 并不是对 IP 使用 SSL,你回源时 proxy_pass https://blabla 这里的 blabla 根本也不会作为 Host 头传回去的,这个证书和域名没有关系
doubleflower
2017 年 5 月 13 日
既然用 88 端口没事何不就用 88 好了,用 ssl 还有性能损失
akira
2017 年 5 月 13 日
同一 ip 访问频次过高,触发云盾之类的了。要么关了云盾试试看,或者直接换个 ip 就是了
hippoking
2017 年 5 月 13 日
@ericFork #9 我一般设置回源时,是 proxy_pass http://42.57.XX.XXX 我去试试
hippoking
2017 年 5 月 13 日
@doubleflower #10 强迫症。。。
Dowding
2017 年 5 月 14 日
我也一直遇到这个问题,小鸟云香港,束手无策

rootx
2017 年 5 月 14 日
云盾是关闭不了的…一旦上了阿里云 基本上就告别别家的服务了。
hippoking
2017 年 5 月 14 日
@takashiki 可以试试非 80 端口.
Dowding
2017 年 5 月 14 日
@hippoking #16 443 https 端口也一样
xjchengo
2017 年 5 月 14 日
放在国内云上的 HTTP 服务最好通过已备案的域名来访问
lslqtz
2017 年 5 月 14 日
你云盾要放个白名单,然后要用 https。
hippoking
2017 年 5 月 14 日
@takashiki #17 我就是用的 88 端口的 http,一直没有问题

我去试试 https

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

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

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

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

© 2021 V2EX