天天看點

Ingress 開啟 TLS / HTTPS 被忽略的細節

将Nginx遷移到Ingress之後,通過日志系統發現日志裡出現了很多“308”的狀态碼。

我們之前是http > http , https > https 這種模式,Ingress 開啟TLS後,則是http>https , https>https 。是以是有是有差異的。

原因:預設情況下,如果為該Ingress啟用了TLS,則控制器會使用308永久重定向響應将HTTP用戶端重定向到HTTPS端口443。

k8s路由預設http跳轉到https, 用的是308跳轉,ie浏覽器,或者有些低版本的浏覽器不支援“308”跳轉的,要改成“301”跳轉,不然低版本的浏覽器會報錯。

介于以上問題,需要修改NGINX config map檔案的以下配置:

1.ssl-redirect: "false" (服務端http強制調準到https,false 表示關閉,true表示打開)

2.hsts=false (用戶端如(浏覽器)強制跳轉https,false表示關閉,ture表示打開)

如果需要開啟強制跳轉,那就使用301強制跳轉,不要使用308

http-redirect-code = 301 (使用301 進行強制跳轉)

繼續閱讀