作為一個(gè)iOS開發(fā)违柏、無意間開始慢慢研究nginx逼庞。其實(shí)這要感謝我的總監(jiān)黃哥婶博,開始是他帶我使用fastdfs搭建圖片服務(wù)器跷敬,慢慢得也對(duì)nginx有了一些了解。
說來也奇怪篱竭,按說通過F5負(fù)載均衡后的2臺(tái)圖片服務(wù)器,即使有一臺(tái)服務(wù)器沒有圖片(返回404),也應(yīng)該去另一臺(tái)服務(wù)器去獲取莱衩。更奇怪的是,4g總是去訪問那臺(tái)沒有圖片的服務(wù)器娇澎,WiFi沒有問題笨蚁。讓我苦惱很久,不能理解趟庄。但是再不能理解括细,解決問題是關(guān)鍵呀。其實(shí)那時(shí)心中只有一種方案戚啥,就是讓2臺(tái)圖片服務(wù)器的圖片同步(同步歷史數(shù)據(jù))奋单,但是生產(chǎn)服務(wù)器又不能搞測(cè)試,萬一失敗了咋整(客戶分分鐘會(huì)干死我)猫十。測(cè)試環(huán)境跟生產(chǎn)不一樣览濒。就在回家的路上,突然想到一招炫彩,就是在沒有圖片服務(wù)器的nginx,在返回碼是404時(shí)匾七,重新指向那臺(tái)有圖片的服務(wù)器不就OK了,江兢,可是回到家昨忆,百度了一下關(guān)于對(duì)nginx 404 重新指向的處理,都是向一個(gè)html杉允,沒有我想要的邑贴。
實(shí)在沒有辦法席里,只能從書中找吧,之前買過一本nginx大全拢驾,有點(diǎn)厚奖磁,讀起來特別像大學(xué)的課本,但是為了解決問題繁疤,忍著點(diǎn)唄咖为。就只看error_page,404類似的章節(jié),說實(shí)話稠腊,找了2個(gè)小時(shí)躁染,沒找到,有點(diǎn)氣餒架忌,看會(huì)人民的名義緩緩吞彤。就在隨意翻書時(shí),找到了我想要的叹放,上代碼
location / {
root index.html
error_page 404 @fallback;
}
location @falldback {
proxy_pass http://backend;
}
解釋一下
當(dāng)訪問的鏈接狀態(tài)碼是404時(shí)饰恕,重新指向URI,進(jìn)入到 falldback指向的服務(wù)器。