问题描述
在NGINX Ingress Controller中,开启强制SSL跳转之后,当访问HTTP时将被重定向到HTTPS地址。
但是在IE 8浏览器中无法进行跳转…………
问题原因
因为IE 8浏览器不支持308状态码。同时「Permanent redirect 308 not supported in IE11 #1825」指出IE 11浏览器也不支持308状态码。
当使用308状态码时,在重定向POST请求时可以保留“有效载荷”(有效载荷,简单理解成POST请求的数据即可)。
解决办法
只能修改返回状态码。这需要修改Nginx的ConfigMap对象,添加http-redirect-code: "301"配置。
配置文件结构大致如下:
apiVersion: v1
kind: ConfigMap
metadata:
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
name: nginx-configuration
namespace: ingress-nginx
data:
http-redirect-code: "301"

本文探讨了在NGINX Ingress Controller中开启强制SSL跳转后,IE8浏览器因不支持308状态码而产生的重定向问题,并提供了解决方案,即通过修改Nginx的ConfigMap对象,将重定向状态码更改为301。
最低0.47元/天 解锁文章
3883

被折叠的 条评论
为什么被折叠?



