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?
認(rèn)證0級(jí)講師
我的網(wǎng)站就是跨機(jī)房的,一臺(tái)nginx做反向代理,真正的web服務(wù)器在另外一個(gè)機(jī)房
做反向代理的nginx配置大概是這樣:
upstream real.sites {
server 123.123.123.123;
// 用keepalive保存長連接,降低頻繁創(chuàng)建連接的開銷
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;
// 把靜態(tài)資源緩存起來,減少服務(wù)器間數(shù)據(jù)傳輸
location ~ \.(css|js|jpg|png|gif|ico)$ {
proxy_cache static_cache;
proxy_pass http://real.sites;
}
location / {
proxy_pass http://real.sites;
}
}
這種部署方式受機(jī)房間網(wǎng)絡(luò)質(zhì)量的影響比較大,如果機(jī)房間網(wǎng)絡(luò)給力就妥妥的,nginx本身倒沒有制造過什么麻煩。
其實(shí)varnish應(yīng)該比nginx更適合干這個(gè),奈何我不熟悉varnish,干脆就用nginx搞了。