nginx配置https请求转发到http出现Mixed Contend问题

问题描述

nginx配置https请求转发到http后,部分网站访问出现空白页,感觉像是js、css没有正常加载。通过F12,发现很多js文件出现Mixed Content,状态是已屏蔽,协议都是http的。

HTTPS网页中加载HTTP资源被称之为Mixed Content(混合内容),为了安全,浏览器默认做了屏蔽,致使页面出现问题。

解决方法

而通过 upgrade-insecure-requests 这个 CSP 指令,可以让浏览器帮忙做这个转换。启用这个策略后,有两个变化:

  1. 页面所有 HTTP 资源,会被替换为 HTTPS 地址再发起请求;
  2. 页面所有站内链接,点击后会被替换为 HTTPS 地址再跳转;

(另外一个https相关的SCP指令选项是:block-all-mixed-content。启用这个选项之后,所有的非https资源都被禁止加载)参考:解决nginx反向代理Mixed Content和Blockable问题 - MlxgzZ - 博客园 (cnblogs.com)

实际配置

比如如果有使用nginx做代理,可以在转发请求的时候添加一个Content-Security-Policy的头,并将这个头的值设置为upgrade-insecure-requests,来将http请求转为https。在nginx的location块中添加 add_header Content-Security-Policy upgrade-insecure-requests;

复制代码
location / { 
     proxy_pass http://X.X.X.X;
     proxy_set_header X-Real-IP $remote_addr;
     add_header Content-Security-Policy upgrade-insecure-requests;
  }
相关推荐
无足鸟ICT4 小时前
【RHCA+】who命令(查看已登陆用户)
linux·运维·服务器
行思理4 小时前
Nginx 跨站请求(CORS)配置完全指南:从原理到生产实践
java·前端·nginx
RacentCLM4 小时前
证书即服务CaaS:从申请、续期到部署的自动化链路拆解
运维·数据库·自动化·ssl
注塑机数据采集联网5 小时前
注塑机生产管控MES系统应用
大数据·运维·服务器·人工智能·物联网
海宇服务5 小时前
零信任架构实战:基于海宇全国车辆配置查验构建自动化二手商用车出厂参数建档网关
运维·人工智能·架构·自动化·1024程序员节
明天也要努力学习5 小时前
TCP 协议的相关特性
网络·网络协议·tcp/ip
SHENGWEI胜为6 小时前
局域网出现 IP 地址冲突怎么办?如何从 ARP 表定位故障设备
网络协议·tcp/ip·php
2401_873479406 小时前
源IP告警太多用什么工具分层?ASN与风险评分操作指南
网络·网络协议·tcp/ip
Brilliantwxx6 小时前
【Linux】 文件访问与路径解析:目录、文件名、dentry、路径缓冲与 dcache 全解析
linux·运维·服务器·开发语言·spring
见闻小天地7 小时前
新手入门:印刷包装设备的伺服和PLC运动控制方案各管什么?七步选型讲清楚
运维·网络·数据库·人工智能