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 重定向开启,以确保数据传输的安全性和用户隐私的保护。如果确实需要关闭这些设置,请务必充分了解其安全性和潜在风险。
相关文章:
Kubernetes Nginx-Ingress | 禁用HSTS/禁止重定向到https
目录 前言禁用HSTS禁止重定向到https关闭 HSTS 和设置 ssl-redirect 为 false 的区别 前言 客户请求经过ingress到服务后,默认加上了strict-transport-security,导致客户服务跨域请求失败,具体Response Headers信息如下; 分析 n…...
TortoiseGit的下载、安装和配置
一、TortoiseGit的简介 tortoiseGit是一个开放的git版本控制系统的源客户端,支持Winxp/vista/win7.该软件功能和git一样 不同的是:git是命令行操作模式,tortoiseGit界面化操作模式,不用记git相关命令就可以直接操作,读…...
如何绕过IP禁令
网站、游戏和应用程序可以屏蔽特定IP地址,从而阻止使用该IP地址的任何人访问其服务。这称为IP禁令。管理员可以出于多种原因(例如发出过多请求或可疑活动)屏蔽IP地址。但是,这些禁令会使收集数据或访问在线内容变得更加困难。 一…...
Vue3的provide和inject实现多级传递的原理
先来看个demo,这个是父组件,代码如下: <template><ChildDemo /> </template><script setup> import ChildDemo from "./child.vue"; import { ref, provide } from "vue"; // 提供响应式的值 c…...
使用html2canvas实现前端截图
一、主要功能 网页截图:html2canvas通过读取DOM结构和元素的CSS样式,在客户端生成图像,不依赖于服务端的渲染。它可以将指定的DOM元素渲染为画布(canvas),并生成图像。多种输出格式:生成的图像…...
使用 Python 爬取某网站简历模板(bs4/lxml+协程)
使用 Python 爬取站长素材简历模板 简介 在本教程中,我们将学习如何使用 Python 来爬取站长素材网站上的简历模板。我们将使用requests和BeautifulSoup库来发送 HTTP 请求和解析 HTML 页面。本教程将分为两个部分:第一部分是使用BeautifulSoup的方法&am…...
深度学习模型中音频流式处理
音频流式处理的介绍 在现代深度学习应用中,音频处理是一个重要的领域,尤其是在语音识别、音乐生成和音频分类等任务中。流式处理(Streaming Processing)是一种有效的处理方式,它允许模型逐帧处理音频数据,…...
C语言(字符数组和字符指针)
字符串实现 在C语言中,表示一个字符串有以下两种形式: 用字符数组存放一个字符串。用字符指针指向一个字符串。 案例 #include <stdio.h>/*** 方式1:使用字符数组实现字符串*/ void str_test1(){// 定义一个伪字符串char str[] &q…...
SkyWalking Helm Chart 4.7.0 安装、配置
https://skywalking.apache.org/events/release-apache-skywalking-kubernetes-helm-chart-4.7.0/https://github.com/apache/skywalking-helm/tree/v4.7.0https://skywalking.apache.org/zh/2020-04-19-skywalking-quick-start/简介 skywalking 是分布式系统的 APM(Applicat…...
微搭低代码AI组件单词消消乐从0到1实践
目录 1 为什么要开发单词消消乐2 需要具备什么功能3 采用什么技术方案实现4 逻辑设计4.1 数据结构设计4.2 游戏的核心逻辑4.3 数据设计 5 代码详解5.1 导入依赖5.2 定义函数组件5.3 数据初始化5.4 状态定义5.5 打乱解释的逻辑5.6 定义选择单词的函数5.7 定义选择解释的函数5.8 …...
23种设计模式之中介者模式
目录 1. 简介2. 代码2.1 Mediator (中介者接口)2.2 ChatRoom (具体中介者类)2.3 User (同事接口)2.4 ChatUser (具体同事类)2.5 Test (测试)2.6 运行结果 3. …...
【Golang】Go语言编程思想(六):Channel,第六节,并发编程模式
并发模式 下例重新对 channel 的用法进行回顾: package mainimport ("fmt""math/rand""time" )func msgGen(name string) chan string {c : make(chan string)go func(name string) { // 在这个 goroutine 当中向外发送数据i : 0fo…...
unity打包web,如何减小文件体积,特别是 Build.wasm.gz
unity打包WebGL,使用的是wasw,最终生成的Build.wasm.gz体积很大,有6.5M,有几个方法可以稍微减小这个文件的大小 1. 裁剪引擎代码: 此步可将大小从6.5减小到 6.2(此项默认开启,只是改了裁剪等级…...
go引入skywalking
前置条件:安装好jdk11,linux服务器(centos7.9),go版本(我的是1.18,1.21都可以) 1.下载skywalking Downloads | Apache SkyWalking 2.下载agent源码 Downloads | Apache SkyWalkin…...
大华DSS数字监控系统 attachment_downloadAtt.action 任意文件下载漏洞复现
0x01 产品描述: 大华 DSS 数字监控系统是大华开发的一款安防视频监控系统,拥有实时监视、云台操作、录像回放、报警处理、设备管理等功能。0x02 漏洞描述: 大华DSS数字监控系统 attachment_downloadAtt.action接口存在任意文件读取漏洞,未经身份验证攻击者可通过该漏洞读取…...
qt 封装 调用 dll
这个目录下 ,第一个收藏的这个 ,可以用, 但是有几个地方要注意 第一.需要将dll的头文件添加到qt的文件夹里面 第二,需要在pro文件里面添加动态库路径 第三,如果调用dll失败,那么大概需要将dll文件放在e…...
Python使用Selenium库获取 网页节点元素、名称、内容的方法
我们要用到一些网页源码信息,例如获取一些节点的class内容, 除了使用Beautifulsoup来解析,还可以直接用Selenium库打印节点(元素)名称,用来获取元素的文本内容或者标签名。 例如获取下面的class的内容&am…...
系统安全——访问控制访问控制
访问控制 概念 什么是访问控制 access control 为用户对系统资源提供最大限度共享的基础上,对用户的访问权进行管理,防止对信息的非授权篡改和滥用 访问控制作用 保证用户在系统安全策略下正常工作 拒绝非法用户的非授权访问请求 拒绝合法用户越权…...
SQL Server 数据库还原到某个时点(完整恢复模式)
将 SQL Server 数据库还原到某个时点(完整恢复模式) 适用范围: SQL Server 本主题介绍如何使用 SQL Server Management Studio 或 Transact-SQL 将数据库还原到 SQL Server 中的某个时间点。 本主题仅与使用完整恢复模式或大容量日志恢复模…...
埃隆马斯克X-AI发布Grok-2大模型,快来体验~
引言 近年来,人工智能技术的快速发展推动了大语言模型的广泛应用。无论是日常生活中的智能助手,还是行业中的自动化解决方案,大语言模型都扮演着越来越重要的角色。2024年,X-AI推出了新一代的大模型——Grok-2,这款模…...
Umi-OCR终极指南:3分钟掌握免费离线OCR文字识别
Umi-OCR终极指南:3分钟掌握免费离线OCR文字识别 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。内置多国语言库。 …...
深入解析 snprintf 和 vsnprintf:安全格式化字符串的最佳实践
1. 为什么需要安全的字符串格式化 在C语言开发中,字符串格式化是最基础也最容易出问题的操作之一。我见过太多因为格式化字符串不当导致的缓冲区溢出漏洞,轻则程序崩溃,重则成为安全攻击的入口点。传统的sprintf函数就像个不设防的大门&#…...
高压柔性输电系统中的6脉冲与12脉冲晶闸管控制HVDC仿真模型说明文档
高压柔性输电系统6脉冲,12脉冲晶闸管控制HVDC的仿真模型,说明文档江湖上流传着这么一句话:"搞HVDC不玩晶闸管,就像吃火锅不放辣"。今天咱们就扒一扒那些藏在MATLAB/Simulink里的6脉冲和12脉冲换流器秘密。先说个冷知识&…...
PyTorch 3.0静训性能断崖预警:当AllReduce延迟>8.3ms或图编译耗时>117s时,你的训练任务已在 silently fail——附实时诊断CLI工具
第一章:PyTorch 3.0静态图分布式训练的静默失效危机全景PyTorch 3.0 引入的 TorchScript 静态图编译机制与 torch.distributed 的深度耦合,在多节点多卡场景下暴露出一类高危静默失效现象:训练进程持续运行、梯度同步无报错、loss 曲线看似收…...
RMBG-2.0企业级应用:集成至Shopify后台实现订单图自动去背流水线
RMBG-2.0企业级应用:集成至Shopify后台实现订单图自动去背流水线 想象一下,你是一家Shopify店铺的运营负责人。每天,团队需要处理上百张来自不同供应商的商品图片,手动抠图、换背景,只为让商品主图在网站上看起来统一…...
FlexRay帧格式拆解:从Header到Trailer,手把手教你读懂汽车总线的‘数据包’
FlexRay帧格式实战解析:像拆解网络包一样掌握汽车总线通信 在汽车电子系统开发中,理解总线协议就像网络工程师需要精通TCP/IP一样重要。FlexRay作为高性能车载网络的核心协议,其帧格式设计既体现了汽车电子对确定性的严苛要求,又融…...
Phi-3-mini-128k-instruct快速部署:Anaconda环境配置与模型调用详解
Phi-3-mini-128k-instruct快速部署:Anaconda环境配置与模型调用详解 你是不是也遇到过这种情况:看到一个很酷的AI模型,想赶紧试试,结果被各种环境依赖、版本冲突搞得头大?别担心,今天咱们就来搞定Phi-3-mi…...
终极无损视频剪辑神器:LosslessCut完整指南与5大实用技巧
终极无损视频剪辑神器:LosslessCut完整指南与5大实用技巧 【免费下载链接】lossless-cut The swiss army knife of lossless video/audio editing 项目地址: https://gitcode.com/gh_mirrors/lo/lossless-cut 你是否曾因视频剪辑导致画质下降而烦恼ÿ…...
从HTTP到gRPC:etcd v2与v3 API调用差异及Postman实战解析
1. etcd v2与v3 API的核心差异解析 第一次接触etcd时,你可能和我一样被网上的v2教程坑过——照着文档发送HTTP请求却总是返回404错误。这其实是因为etcd v3默认关闭了v2 API支持,而大多数中文教程还在用陈旧的v2示例。让我们先理清这两个版本的本质区别&…...
WarcraftHelper:魔兽争霸III游戏性能优化与兼容性解决方案完整指南
WarcraftHelper:魔兽争霸III游戏性能优化与兼容性解决方案完整指南 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为经典游戏《魔兽争…...
