Heim  >  Fragen und Antworten  >  Hauptteil

Kann Nginx Upstream-Computerräume durchqueren?

Kann, wie bereits erwähnt, die Konfiguration von Nginx Upstream computerraumübergreifend auf externe IP eingestellt werden?
Es ist in Ordnung, es selbst zu testen, aber ich weiß nicht, welche Probleme in der tatsächlichen Umgebung auftreten werden.
Wenn Nginx Upsteam als Front-End-Proxy verwendet wird, benötigt es eine lange Verbindung, was aufgrund eines schlechten Netzwerks oder ähnlichem zu Problemen führen kann.
Kann mir bitte jemand mit Erfahrung oder Erfahrung auf diesem Gebiet eine Antwort geben?

PHP中文网PHP中文网2712 Tage vor768

Antworte allen(2)Ich werde antworten

  • 淡淡烟草味

    淡淡烟草味2017-05-16 17:29:09

    我的网站就是跨机房的,一台nginx做反向代理,真正的web服务器在另外一个机房

    做反向代理的nginx配置大概是这样:

    upstream real.sites {
        server 123.123.123.123;
    
        // 用keepalive保存长连接,降低频繁创建连接的开销
        keepalive 16;
    }
    
    proxy_cache_path /path/to/cache levels=1:2 keys_zone=static_cache:100m;
    
    server {
        server_name     www.example.com;
    
        // 把真正的IP地址放到header的X-Forwarded-For里面
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    
        proxy_http_version 1.1;
        proxy_set_header Connection "";
    
        proxy_next_upstream http_503;
    
        // 把静态资源缓存起来,减少服务器间数据传输
        location ~ \.(css|js|jpg|png|gif|ico)$ {
            proxy_cache static_cache;
            proxy_pass http://real.sites;
        }
    
        location / {
            proxy_pass http://real.sites;
        }
    }
    

    这种部署方式受机房间网络质量的影响比较大,如果机房间网络给力就妥妥的,nginx本身倒没有制造过什么麻烦。

    其实varnish应该比nginx更适合干这个,奈何我不熟悉varnish,干脆就用nginx搞了。

    Antwort
    0
  • 巴扎黑

    巴扎黑2017-05-16 17:29:09

    妥妥的。

    Antwort
    0
  • StornierenAntwort