V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
hippoking
V2EX  ›  NGINX

这个 nginx 的问题让我郁闷了

  •  
  •   hippoking · May 13, 2017 · 5653 views
    This topic created in 3276 days ago, the information mentioned may be changed or developed.
    国内一台主服务器放在阿里云,用 nginx 服务国内客户
    另外一台阿里云 HKB 的服务器,用 nginx 反代国内的主服务器来服务国外客户

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

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

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

    很明显的是我的 nginx 配置没有问题,难道是反代 80 端口,触发了阿里云的什么保护规则?
    24 replies    2017-05-15 10:50:19 +08:00
    ericFork
        1
    ericFork  
       May 13, 2017
    HKB 的机器 502 时的 nginx error log 看了没?
    hippoking
        2
    hippoking  
    OP
       May 13, 2017
    @ericFork #1 看了

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

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

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

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

    我去试试 https
    hippoking
        21
    hippoking  
    OP
       May 14, 2017
    @lslqtz #19 阿里云的国际板,没有云盾白名单
    lslqtz
        22
    lslqtz  
       May 15, 2017
    @hippoking 国内的要放。。
    hippoking
        23
    hippoking  
    OP
       May 15, 2017
    @lslqtz #22 我国内放了。。貌似没啥鸟用。。
    qq1242245799
        24
    qq1242245799  
       May 15, 2017
    云服务器毕竟是服务器集群虚拟化出来的,可以试试独立服务器,我这里有 bgp 三线香港机,用不断线,售后免费。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2605 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 113ms · UTC 14:53 · PVG 22:53 · LAX 07:53 · JFK 10:53
    ♥ Do have faith in what you're doing.