0
希望瞭解是否有任何方法可以迫使NGINX從它背後的一臺特定服務器提供請求。從NGINX後面的特定服務器獲取HTTP響應
我在查詢NGINX服務器,我從兩個不同的服務器得到響應。我可以通過查看響應中的「服務器」標題來說明這一點。一個服務器在提供數據方面一直比其他服務器慢。有什麼方法可以讓NGINX從更快的服務器提供內容?
即使你能指出我的方向 - 這將會有所幫助。
希望瞭解是否有任何方法可以迫使NGINX從它背後的一臺特定服務器提供請求。從NGINX後面的特定服務器獲取HTTP響應
我在查詢NGINX服務器,我從兩個不同的服務器得到響應。我可以通過查看響應中的「服務器」標題來說明這一點。一個服務器在提供數據方面一直比其他服務器慢。有什麼方法可以讓NGINX從更快的服務器提供內容?
即使你能指出我的方向 - 這將會有所幫助。
您可以通過多種方式做到這一點,您可以創建一個upstream pool並將請求傳遞給它,也可以通過location塊來完成。 Nginx也提供一些load balancer strategies來幫助像你這樣的情況。
使用上游:
upstream backend {
server 192.168.0.10; # Fast server
server 192.168.0.11; # Slow server
}
server {
listen 80;
server_name example.com;
location/{
proxy_pass http://backend;
}
}
使用位置塊:
server {
listen 80;
server_name example.com;
location/{
proxy_pass http://192.168.0.10;
}
}
負載平衡策略
最少連接 - 使用服務器與所述至少活動會話:
upstream backend {
least_conn;
server 192.168.0.10; # Fast server
server 192.168.0.11; # Slow server
}
會話持久性 - 航線同一用戶爲每個請求相同的後端:
upstream backend {
ip_hash;
server 192.168.0.10; # Fast server
server 192.168.0.11; # Slow server
}
加權平衡 - 發送更多的請求比另外一個服務器:
upstream backend {
server 192.168.0.10 weight=3; # Fast server
server 192.168.0.11; # Slow server
}
這一戰略將導致快速服務器爲每個請求服務3個請求提供慢速服務器服務。
謝謝你的答案,但我試圖從客戶端做到這一點。我無法訪問Nginx服務器本身。你會提出一些我可以查詢Nginx的策略,這樣我的請求就會被轉發到更快的服務器上。我看到一些建議,發送空參數,使用沒有緩存頭等,但似乎沒有工作。但是,是的..我正在嘗試從客戶端做到這一點。 –
僅從客戶端就很難,因爲平衡策略是在服務器端決定的,所以你很難做到。 – sjdaws