ingress 因为HSTS引发307跳转问题

简介: ingress 因为HSTS引发307跳转问题

问题背景:

某客户反馈,容器服务的ingress他们同时支持http和https,ingress的ssl-redirect配置为false,但是目前它还会自动跳转到https,导致他们客户调用出现了问题。

问题分析:


1 拿到域名后使用curl -vvv http://域名/ -L 测试看了下并没有发现用户反馈有跳转的情况;


2 继续和用户沟通要他们的复现方法,大致是这样的:

(1)打开浏览器先第一次访问http,然后再访问https。

(2)然后再访问http它就跳回https了。

看到上述用户描述后,难道触发了缓存,按照用户反馈的情况我用无痕模式测试看了下,结果确实复现了,无痕模式下缓存是关闭的,看起来并不是触发了缓存什么的机制

3 开始chrom的浏览器的F12调试到network面板,看看刷新http请求,相关header请求是什么样,结果抓到了异常了,信息如下:

从请求的信息来看是HSTS而且有307的情况,这里就需要聊下什么是HSTS了,HSTS 是 HTTP 严格传输安全(HTTP Strict Transport Security) 的缩写。 这是一种网站用来声明他们只能使用安全连接(HTTPS)访问的方法。 如果一个网站声明了 HSTS 策略,浏览器必须拒绝所有的 HTTP 连接并阻止用户接受不安全的 SSL 证书。 目前大多数主流浏览器都支持 HSTS (只有一些移动浏览器无法使用它)。


HSTS 工作原理

通常,当您在 Web 浏览器中输入 URL 时,您会跳过协议部分。 例如,你输入的是 www.acunetix.com,而不是 http://www.acunetix.com。 在这种情况下,浏览器假设你想使用 HTTP 协议,所以它在这个阶段发出一个 HTTP 请求www.acunetix.com,同时,Web Server 会返回 跳转 状态码将请求重定向到 HTTPS 站点。 接下来浏览器使用 HTTPS 连接到 www.acunetix.com。 这时 HSTS 安全策略保护开始使用 HTTP 响应头。

问题到这里就比较清晰了,是nginx-ingress开启了HSTS影响到了,社区的介绍:https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#hsts


解决方案:

在nginx-ingress的配置文件里面添加 hsts: false后解决。

相关文章
|
缓存 安全 前端开发
十分钟搞懂手机号码一键登录
十分钟搞懂手机号码一键登录
4563 0
|
4月前
|
人工智能 API 开发者
藏不住了!阿里云Coding Plan重磅上线四大模型,7.9元就能玩转AI
阿里云Coding Plan上线Qwen3.5、GLM-5、MiniMax M2.5、Kimi K2.5四大顶级开源模型,Lite套餐首月仅7.9元,享1.8万次请求;Pro套餐39.9元/月,支持复杂编码任务。支持Qwen Code等多工具切换,高稳定、高Token额度。(239字)
|
3月前
|
JSON 算法 API
调用拼多多开放平台API获取店铺所有商品列表
本文详解拼多多开放平台商品列表API(pdd.goods.list.get)调用方法,涵盖授权流程、签名生成、关键参数、分页处理及响应解析,助力商家/开发者高效获取全量商品数据,适用于商品管理、数据分析等场景。(239字)
|
11月前
|
Ubuntu 应用服务中间件 网络安全
ELK完整部署教程
本文介绍了在Ubuntu 22.04上部署ELK(Elasticsearch、Logstash、Kibana)及Filebeat的完整步骤。内容涵盖Elasticsearch安装与安全配置、Kibana启用SSL与注册、Logstash配置输入输出,以及Filebeat采集日志并发送至Logstash或Elasticsearch的方法。适用于本地非容器环境的日志收集与可视化搭建。
|
11月前
|
Linux 数据安全/隐私保护
当Linux普通用户尝试修改密码时遇到“passwd: Authentication token manipulation error”的解决方法。
这些步骤应当能够解决大部分出现“passwd: Authentication token manipulation error”错误的情况。及时保持系统的更新也有助于预防类似的问题发生。有时候,系统更新或者补丁能解决潜在的bug和不兼容的问题。
3875 0
|
搜索推荐 前端开发 API
构建智能导购助手:百炼大模型的实践与探索
智能导购助手利用百炼大模型的Multi-Agent架构,实现精准的商品推荐和主动式对话,解决购物时商品选择困难、需求沟通成本高、推荐缺乏个性化等问题。通过详细的部署实践和技术架构解析,本文带你深入了解如何打造一个高效、个性化的智能导购系统,提升购物体验与满意度。
1352 6
构建智能导购助手:百炼大模型的实践与探索
|
安全 Java 应用服务中间件
Windows版本的Tomcat无法启动,如何处理?
Windows版本的Tomcat无法启动,如何处理?
2037 14
|
网络协议 数据可视化 关系型数据库
firewall-cmd命令详解
firewall-cmd命令详解
1157 1
|
前端开发 Java Spring
`DeferredResult`用法简单介绍
`DeferredResult`用法简单介绍
652 1