服務(wù)器 - nginx 如何配置負(fù)載均衡
問題描述
有三臺(tái)機(jī)器,ABC,所有請(qǐng)求都給A,然后A轉(zhuǎn)發(fā)給BC,由BC處理業(yè)務(wù)假設(shè)域名是bla.com在機(jī)器A上,http 模塊內(nèi)寫以下配置,訪問bla.com,訪問到的是A默認(rèn)頁(yè)面
upstream bla.com {ip_hash;server 192.168.100.2;server 192.168.100.3;}
怎么樣才能讓所有的請(qǐng)求都按 ip_hash 轉(zhuǎn)發(fā)給B,C
問題解答
回答1:https 負(fù)載均衡架構(gòu)如圖,與http區(qū)別不大
upstream mywebapp1 { server 10.130.227.11; server 10.130.227.22;}server { listen 80; listen 443 ssl; server_name example.com www.example.com; ssl on; ssl_certificate /etc/nginx/ssl/example.com/server.crt; ssl_certificate_key /etc/nginx/ssl/example.com/server.key; ssl_trusted_certificate /etc/nginx/ssl/example.com/ca-certs.pem; location / {proxy_pass http://mywebapp1;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme; }}回答2:
你的意思是, 不想讓A服務(wù)器承擔(dān)流量了?
在服務(wù)器A轉(zhuǎn)發(fā)給后端時(shí), 設(shè)置特殊的header
add_header HELLO Y;
B,C在發(fā)現(xiàn)有HELLO這個(gè)header時(shí),立即返回302,讓用戶對(duì)B,C直接發(fā)起連接
if ($http_HELLO = ’Y’){ rewrite ^ http://$server_addr:$server_port$request_uri? redirect;}
相關(guān)文章:
1. 數(shù)據(jù)庫(kù) - Mysql的存儲(chǔ)過(guò)程真的是個(gè)坑!求助下面的存儲(chǔ)過(guò)程哪里錯(cuò)啦,實(shí)在是找不到哪里的問題了。2. php傳對(duì)應(yīng)的id值為什么傳不了啊有木有大神會(huì)的看我下方截圖3. 如何用筆記本上的apache做微信開發(fā)的服務(wù)器4. python - linux怎么在每天的凌晨2點(diǎn)執(zhí)行一次這個(gè)log.py文件5. 關(guān)于mysql聯(lián)合查詢一對(duì)多的顯示結(jié)果問題6. 冒昧問一下,我這php代碼哪里出錯(cuò)了???7. windows誤人子弟啊8. mysql優(yōu)化 - MySQL如何為配置表建立索引?9. MySQL主鍵沖突時(shí)的更新操作和替換操作在功能上有什么差別(如圖)10. 實(shí)現(xiàn)bing搜索工具urlAPI提交
