Ingress 开启 TLS / HTTPS 被忽略的细节

简介: 我们之前接入层用的SLB>Nginx ,考虑到Ingress和k8s的集成,我们用Ingress替代了Nginx,测试同学反馈在低版本浏览器上报错。

将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 进行强制跳转)

目录
相关文章
|
8月前
|
存储 Java 网络安全
SpringCloud GateWay配置(TLS 和 SSL、Http超时配置)—官方原版
SpringCloud GateWay配置(TLS 和 SSL、Http超时配置)—官方原版
246 0
|
8月前
|
Kubernetes 应用服务中间件 网络安全
用Kubernetes(k8s)的ingress部署https应用
用Kubernetes(k8s)的ingress部署https应用
230 0
|
14天前
|
安全 Go 网络安全
【Go语言专栏】Go语言中的HTTPS与TLS配置
【4月更文挑战第30天】本文介绍了在Go语言中配置HTTPS服务器和处理TLS证书的方法。首先,TLS证书由证书颁发机构(CA)颁发,用于验证服务器身份和加密通信。接着,展示了如何使用`crypto/tls`包加载自签名证书启动HTTPS服务器。在生产环境中,通常使用CA签名的证书,这需要获取证书链和私钥。为了自动续期证书,可以利用Go的`acme/autocert`包与ACME服务交互。掌握这些技能对于确保Web服务的安全至关重要。
|
4月前
|
安全 Java 网络安全
HTTPS的TLS/SSL协议详解及Java代码示例
HTTPS的TLS/SSL协议详解及Java代码示例
306 0
|
11月前
|
缓存 网络协议 算法
给面试官上一课:HTTPS是先进行TCP三次握手,再进行TLS四次握手
面试官跟他说 HTTPS 中的 TLS 握手过程可以同时进行三次握手,然后读者之前看我的文章是说「先进行 TCP 三次握手,再进行 TLS 四次握手」,他跟面试官说了这个,面试官说他不对,他就感到很困惑。
|
11月前
|
算法 安全 网络安全
一篇文章读懂HTTPS TLS 1.2握手流程(下)
一篇文章读懂HTTPS TLS 1.2握手流程
10642 2
|
11月前
|
Web App开发 安全 网络协议
一篇文章读懂HTTPS TLS 1.2握手流程(中)
一篇文章读懂HTTPS TLS 1.2握手流程
2196 0
|
11月前
|
编解码 算法 安全
一篇文章读懂HTTPS TLS 1.2握手流程
一篇文章读懂HTTPS TLS 1.2握手流程
231 0
|
11月前
|
Web App开发 缓存 算法
【RSA】HTTPS中SSL/TLS握手时RSA前后端加密流程
【RSA】HTTPS中SSL/TLS握手时RSA前后端加密流程
490 0
|
数据采集 Python
绕过HTTPS请求中的TLS特征识别及反爬机制
使用 urllib.request 库进行 HTTPS 请求时,可能会出现 TLS 特征被识别的情况,可以考虑以下一些方法来绕过反爬机制:使用代理 IP、修改请求头部信息、降低请求频率或使用其他语言库,如 aiohttp、 Scrapy、Selenium 等,来进行复杂的反爬处理。 这段代码实现了一个基于 asyncio 和 aiohttp 的异步百度百科查询工具,具有较高的并发性能和响应速度,同时通过爬虫代理加强版IP和随机User-Agent能够提高采集的效率。
360 0
绕过HTTPS请求中的TLS特征识别及反爬机制