近期遇到乙個問題,產品公升級過程過程中實現所有服務訪問定向到公升級頁面,公升級完成後,產品所有服務恢復正常,同時,針對部分服務進行過濾(監控、告警等),公升級過程中仍保持可訪問狀態。
產品通過nginx-ingress-controller提供http服務,通過公升級前建立ingress,公升級後刪除ingress實現公升級過程中的重定向嗎,ingress yaml如下:
//這裡不支援標準的正則,例如(!?.*png)(!?.css),無法建立ingress
- path: /(.)
backend:
servicename: gateway-service
serviceport: 80
遇到的問題:
1、建立ingress後無法重定向到對應的服務
解決辦法:使用ingress.kubernetes.io/rewrite-target: /index.html,請求重定向到gateway-service的index.html
2、重定向頁面成功,但是刪除ingress後頁面快取,導致使用者一直在公升級頁面,除非使用者ctrl+f5
解決辦法:html的head裡增加如下內容
3、使用帶的index.html,頁面無法正常顯示
解決辦法:原因是配置的ingress每次請求生效,因此當瀏覽器請求index.html引用的image時,仍然會重定向到index.html,所以無法載入,解決思路是配置ingress,當請求包含css、png等資源檔案時,不要重定向到index.html,配置方法如下:
//這裡不支援標準的正則,例如(!?.png)(!?.css),無法建立ingress
**- path: /(.)*
backend:
servicename: gateway-service
serviceport: 80
蛋疼的是,這裡直接在path進行正則匹配不行,對於(!?.*png)(!?.*css)這樣的正則,ingress似乎無法解析,因此才用上述方法
4、帶的index.html存在快取現象,使用者每次得ctrl+f5
解決辦法:頁面內容通過getupgradepage返回,則每次新增、刪除ingress後,頁面的請求都是200;如果是index.html,則頁面返回的結果是302
參考了一些blog,都還行,如下:
正則語法:
ingress的配置方法:
ingress的配置方法以及樣例,包括ingress的載入順序:
SoapClient訪問伺服器實現產品驗真
header content type text html charset utf 8 set time limit 0 產品驗真 產品詳情資訊 function checkkey code else 積分領取記錄 parameters po array memsyspswd abcd1234 pr...
Apache配置實現多服務,多站點
配置apache及實現多站點 安裝好apache以後,可以在瀏覽器中輸入 http localhost 20測試,如果配置正常會顯示it s working.更改第乙個站點的根目錄 在檔案apache2.2 conf httpd.conf中查詢 documentroot 屬性,將後面的路徑改為你的主...
服務 合作和可信產品
標記 發表於 2010年03月30日 09 09 00 曾經思考很久的問題。現在準備離職了,終於有時間來完成它。it企業一般很難有自己的產品,而更多的是提供服務。通過提供服務或者說服務型產品來收取報酬。比如說乙個大型的解決方案,就是是乙個服務的集合。這個集合裡面可以拆分成很多小的服務過程 剛在看 需...