您好,登錄后才能下訂單哦!
這篇文章主要介紹“nginx前端根據$remote_addr分發怎么實現”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“nginx前端根據$remote_addr分發怎么實現”文章能幫助大家解決問題。
需求如下:
域名下面有多臺服務器,現針對某個地區做測試,讓某個地區的ip用戶只訪問某一臺服務器,單獨做測試,如果沒問題,全部更新;有問題則影響較小,及時發現問題解決問題;
解決方案:
使用nginx的模塊,在前端負載均衡轉發的機器上,配置匹配規則;
nginx配置vhost里面,域名下面location段,增加一段代碼
如果$remote_addr 匹配到ip的話,轉發到abc_test_server;
server { listen 80; server_name abc.com.cn; access_log /dev/null; error_log /data/logs/error.log; location / { proxy_set_header host $host; proxy_set_header x-real-ip $remote_addr; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; if ($remote_addr ~ "202.96.134.100") { proxy_pass http://abc_test_server; break; } proxy_pass http://abc_server; } }
負載均衡配置也需要增加一段
#abc_test only upstream abc_test_server { server 192.168.20.10:80; } #abc.com.cn upstream abc_server { server 192.168.20.11:80; server 192.168.20.12:80; server 192.168.20.13:80; }
設定的ip會直接分發到192.168.20.10這一臺后端服務器中,進行測試。
關于“nginx前端根據$remote_addr分發怎么實現”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。