我去,怎么http全变https了

项目场景:

在公司做的一个某地可视化项目。

部署采用的是前后端分离部署,图片等静态资源请求一台minio服务器。

项目平台用的是http

图片资源的服务器用的是https


问题描述

在以https请求图片资源时,图片请求成功报200。

【现象1】: 继图片后续的请求,后续此域名和子域名下的的url均由http变为https

【现象2】: 界面阻塞报错,无法交互

原因分析:

经过现象查阅,发现出现该现象与浏览器的HSTS有关。

什么是HSTS ?

HTTP的Strict-Transport-Security(HSTS)请求头是一种网络安全机制,用于告诉浏览器仅通过HTTPS与服务器通信,而不是HTTP。它的作用主要有以下几点:

  1. 防止协议降级攻击:当浏览器接收到HSTS响应头后,它会将该网站添加到HSTS列表中,并在后续的访问中强制使用HTTPS,即使用户或攻击者尝试通过HTTP访问该网站,浏览器也会自动将其重定向到HTTPS。
  2. 减少中间人攻击的风险:通过确保所有通信都通过加密的HTTPS进行,可以降低中间人攻击(MITM)的风险,因为攻击者无法轻易地截获或篡改传输的数据。
  3. 提高网站的安全性:HSTS可以作为网站安全策略的一部分,帮助保护用户的敏感信息,如登录凭据、支付信息等。
  4. 简化安全配置:对于网站管理员来说,HSTS可以减少需要维护的安全配置,因为浏览器会自动处理HTTPS的重定向。
  5. 提高用户体验:由于浏览器会自动处理重定向,用户不需要担心访问的是HTTP还是HTTPS版本,可以更顺畅地浏览网站。

HSTS的配置可以通过max-age指令来设置浏览器应该记住这个策略的时间长度,还可以使用includeSubDomains指令来指示所有子域名也应该遵循这个策略。此外,还有一个preload选项,允许网站所有者将他们的网站添加到浏览器的预加载HSTS列表中,这样用户在第一次访问时就可以立即应用HSTS策略。

于是在我发现该相关的响应头确有此物


解决方案:

那就取决于服务器是在哪里设置的该请求头。可能是在Nginx,Lighttpd,PHP等等,将该响应头配置去除

相关推荐
QX_hao1 天前
【Go】--map和struct数据类型
开发语言·后端·golang
你好,我叫C小白1 天前
C语言 循环结构(1)
c语言·开发语言·算法·while·do...while
Evand J1 天前
【MATLAB例程】基于USBL和DVL的线性回归误差补偿,对USBL和DVL导航数据进行相互补偿,提高定位精度,附代码下载链接
开发语言·matlab·线性回归·水下定位·usbl·dvl
爱喝白开水a1 天前
LangChain 基础系列之 Prompt 工程详解:从设计原理到实战模板_langchain prompt
开发语言·数据库·人工智能·python·langchain·prompt·知识图谱
Neverfadeaway1 天前
【C语言】深入理解函数指针数组应用(4)
c语言·开发语言·算法·回调函数·转移表·c语言实现计算器
武子康1 天前
Java-152 深入浅出 MongoDB 索引详解 从 MongoDB B-树 到 MySQL B+树 索引机制、数据结构与应用场景的全面对比分析
java·开发语言·数据库·sql·mongodb·性能优化·nosql
杰克尼1 天前
JavaWeb_p165部门管理
java·开发语言·前端
一成码农1 天前
JavaSE面向对象(下)
java·开发语言
偶尔的鼠标人1 天前
Avalonia DataGrid 控件的LostFocus事件会多次触发
开发语言·c#
晚风残1 天前
【C++ Primer】第十二章:动态内存管理
开发语言·c++·c++ primer