当前位置: 首页 > news >正文

Kubernetes Nginx-Ingress | 禁用HSTS/禁止重定向到https

目录

    • 前言
    • 禁用HSTS
    • 禁止重定向到https
    • 关闭 HSTS 和设置 ssl-redirect 为 false 的区别

前言

客户请求经过ingress到服务后,默认加上了strict-transport-security,导致客户服务跨域请求失败,具体Response Headers信息如下;
在这里插入图片描述
分析
nginx-ingress-controller组件默认是开启HSTS的,有些浏览器第一次基于PLAIN HTTP访问时,服务端(开启HSTS)会在返回给客户端的响应头里携带Non-Authoritative-Reason: HSTS字段,说明服务端支持HSTS,当客户端也支持的情况下下次会直接以HTTPS方式访问服务端。服务端返回的响应头消息体中包含有307 Internal Redirect状态码,具体如下图所示。
在这里插入图片描述

nginx-ingress-controller的官方

禁用HSTS

在nginx-ingress-controller对应的config-map中,配置hsts=false

其他控制器,比如traefik,也有类似的配置

在浏览器端HSTS默认是有缓存的,当关闭nginx-ingress-controller组件的HSTS后,记得清理缓存和cookie

禁止重定向到https

  • 全局设置:

    在nginx-ingress-controller对应的config-map中,配置
    ssl-redirect=false

  • 单个ingress设置:

    找到对应的ingress,设置注解(annotations): nginx.ingress.kubernetes.io/ssl-redirect=false

关闭 HSTS 和设置 ssl-redirect 为 false 的区别

关闭 HSTS 和设置 ssl-redirect 为 false 在 Nginx Ingress Controller 中是两个不同的配置,它们各自有不同的作用和影响。

关闭 HSTS
作用:
HSTS(HTTP Strict Transport Security)是一种安全策略,它告诉浏览器只能通过 HTTPS 访问网站。关闭 HSTS 意味着浏览器不再被强制要求使用 HTTPS 访问网站。
影响:
关闭后,之前访问过该网站的浏览器可能仍然会强制使用 HTTPS(因为 HSTS 策略在浏览器中有缓存),但新访问的浏览器将不再受此限制。
安全性降低:关闭 HSTS 可能会使网站更容易受到中间人攻击(MITM),因为攻击者可以拦截并篡改不安全的 HTTP 请求。
配置方式:
在 Nginx Ingress Controller 的 ConfigMap 中设置 hsts=false。

设置 ssl-redirect 为 false
作用:
ssl-redirect 注解用于控制是否将 HTTP 请求重定向到 HTTPS。将其设置为 false 意味着 Nginx Ingress Controller 将不再自动将 HTTP 请求重定向到 HTTPS。
影响:
HTTP 请求将不再被重定向到 HTTPS,用户可以通过 HTTP 访问网站。
安全性降低:允许 HTTP 访问意味着数据传输不再加密,可能会暴露敏感信息。
配置方式:
可以通过两种方式设置:
全局设置(尽管这不是标准做法,因为通常这个设置是通过 Ingress 资源的注解来实现的):在 Nginx Ingress Controller 的 ConfigMap 中尝试设置(但请注意,这可能需要额外的配置或修改,因为 Nginx Ingress Controller 的官方文档可能并没有直接提到可以在 ConfigMap 中设置 ssl-redirect)。
针对单个 Ingress 设置:在特定的 Ingress 资源中添加注解 nginx.ingress.kubernetes.io/ssl-redirect: “false”。
区别总结
作用不同:关闭 HSTS 是告诉浏览器不再强制使用 HTTPS 访问网站;设置 ssl-redirect 为 false 是控制 Nginx Ingress Controller 不再将 HTTP 请求重定向到 HTTPS。
影响范围不同:关闭 HSTS 影响的是浏览器的行为;设置 ssl-redirect 为 false 影响的是 Nginx Ingress Controller 的行为。
安全性影响:两者都会降低网站的安全性,但方式不同。关闭 HSTS 可能会使网站更容易受到中间人攻击;设置 ssl-redirect 为 false 则允许不安全的 HTTP 访问。
在生产环境中,通常建议保持 HSTS 和 HTTPS 重定向开启,以确保数据传输的安全性和用户隐私的保护。如果确实需要关闭这些设置,请务必充分了解其安全性和潜在风险。

http://www.lryc.cn/news/502031.html

相关文章:

  • TortoiseGit的下载、安装和配置
  • 如何绕过IP禁令
  • Vue3的provide和inject实现多级传递的原理
  • 使用html2canvas实现前端截图
  • 使用 Python 爬取某网站简历模板(bs4/lxml+协程)
  • 深度学习模型中音频流式处理
  • C语言(字符数组和字符指针)
  • SkyWalking Helm Chart 4.7.0 安装、配置
  • 微搭低代码AI组件单词消消乐从0到1实践
  • 23种设计模式之中介者模式
  • 【Golang】Go语言编程思想(六):Channel,第六节,并发编程模式
  • unity打包web,如何减小文件体积,特别是 Build.wasm.gz
  • go引入skywalking
  • 大华DSS数字监控系统 attachment_downloadAtt.action 任意文件下载漏洞复现
  • qt 封装 调用 dll
  • Python使用Selenium库获取 网页节点元素、名称、内容的方法
  • 系统安全——访问控制访问控制
  • SQL Server 数据库还原到某个时点(完整恢复模式)
  • 埃隆马斯克X-AI发布Grok-2大模型,快来体验~
  • Python工厂设计模式:简化对象创建
  • 【隐私计算篇】隐私集合求交(PSI)原理深入浅出
  • 工作中常用的8种设计模式
  • Qwen 论文阅读记录
  • 自动驾驶:百年演进
  • SSM 校园一卡通密钥管理系统 PF 于校园图书借阅管理的安全保障
  • 什么叫中间件服务器?
  • 【docker】12. Docker Volume(存储卷)
  • SpringBoot【八】mybatis-plus条件构造器使用手册!
  • OpenAI直播发布第4天:ChatGPT Canvas全面升级,免费开放!
  • 自学高考的挑战与应对:心理调适、学习方法改进与考试技巧提升