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后解决。

相关文章
|
存储 XML Java
Flowable工作流-高级篇
Flowable工作流-高级篇
9564 1
|
缓存 安全 前端开发
十分钟搞懂手机号码一键登录
十分钟搞懂手机号码一键登录
4394 0
支付宝境外(海外)问题方案集锦
说明:   境外和境内接口不同签约等不同,如果要接入境外请按照境外方式接入 。   境外接口官网:[url]https://global.alipay.com[/url] 声明:  业务和技术方案可能会有变动最终以境外业务和技术支持回复为准,下面问题仅供参考。
6609 12
|
数据可视化 前端开发 Java
SpringBoot 集成 Flowable + Flowable Modeler 流程配置可视化(图解)(一)
SpringBoot 集成 Flowable + Flowable Modeler 流程配置可视化(图解)
5927 0
|
2月前
|
JSON 算法 API
调用拼多多开放平台API获取店铺所有商品列表
本文详解拼多多开放平台商品列表API(pdd.goods.list.get)调用方法,涵盖授权流程、签名生成、关键参数、分页处理及响应解析,助力商家/开发者高效获取全量商品数据,适用于商品管理、数据分析等场景。(239字)
477 1
|
数据采集 数据挖掘 数据处理
如何使用 Pandas 库进行数据清洗和预处理?
数据清洗和预处理是数据分析中至关重要的步骤,Pandas库提供了丰富的函数和方法来完成这些任务
927 64
|
10月前
|
Ubuntu 应用服务中间件 网络安全
ELK完整部署教程
本文介绍了在Ubuntu 22.04上部署ELK(Elasticsearch、Logstash、Kibana)及Filebeat的完整步骤。内容涵盖Elasticsearch安装与安全配置、Kibana启用SSL与注册、Logstash配置输入输出,以及Filebeat采集日志并发送至Logstash或Elasticsearch的方法。适用于本地非容器环境的日志收集与可视化搭建。
|
10月前
|
Linux 数据安全/隐私保护
当Linux普通用户尝试修改密码时遇到“passwd: Authentication token manipulation error”的解决方法。
这些步骤应当能够解决大部分出现“passwd: Authentication token manipulation error”错误的情况。及时保持系统的更新也有助于预防类似的问题发生。有时候,系统更新或者补丁能解决潜在的bug和不兼容的问题。
3524 0
|
XML Java 数据库连接
SpringBoot集成Flowable:打造强大的工作流管理系统
在企业级应用开发中,工作流管理是一个核心组件,它能够帮助我们定义、执行和管理业务流程。Flowable是一个开源的工作流和业务流程管理(BPM)平台,它提供了强大的工作流引擎和建模工具。结合SpringBoot,我们可以快速构建一个高效、灵活的工作流管理系统。本文将探讨如何将Flowable集成到SpringBoot应用中,并展示其强大的功能。
3431 1