【生产问题】前端接口请求报blocked:mixed-content

news2024/11/29 18:30:18

事故现象

客户端反馈系统无法使用。打开页面很多内容无法显示。
f12 显示很多请求都失败了。
在这里插入图片描述

定位问题

客户咨询

客户反馈昨天 在nginx 上面配置了https证书。导致了http 请求无法访问。 客户已经在nginx上面配置了https。即 网页端的请求会重定向到https请求上面。那为啥还有 http请求呢?

代码查看

通过查看代码,目前这个系统是tomcat部署的,采用jsp 作为视图显示。
浏览器发送的请求,一般是请求jsp。 这个请求被nginx 重定向变为 https 是没有问题的。
但是 jsp 会发送 js css 等静态文件的请求以及 ajax 请求,这些请求 都是 http请求。目前出现的问题就是这些请求。
jsp 里面有封装请求的代码,如截图:
在这里插入图片描述

真正问题

如上面截图所示,真正问题原因是 因为 jsp里面的 request.getScheme() 获取到的是 http而不是https。

解决问题

方法一:

最开始我的想法是 在 request.getScheme() 后面加个s 。 即 request.getScheme()+“s”。这样粗暴的加个s。使 http 强行变成 https。但是这样的Jsp有很多,不方便维护。

方法二:

改tomcat 的配置。

如果使tomcat 6或以下:

配置Tomcat server.xml 的 Engine 模块下配置一个 Valve:

<Valve className="org.apache.catalina.valves.RemoteIpValve"  
remoteIpHeader="X-Forwarded-For"  
protocolHeader="X-Forwarded-Proto"  
protocolHeaderHttpsValue="https"/>  

在这里插入图片描述

如果使tomcat7 或以上

修改tomcat配置文件server.xml,增加 scheme=“https” secure=“true” 属性即可。

<Connector port="8080" protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="8443" 
    scheme="https" secure="true"/>

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/152604.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

无需离开 Visual Studio 即可编写 Markdown

当您想要格式化代码但又不想牺牲易读性时&#xff0c;Markdown 是一个很好的解决方案。GitHub 将其用于自述文件&#xff0c;我们将其用作 Visual Studio 文档的标准。之前收到了不少来自开发者的反馈&#xff0c;大家希望在 Visual Studio 中使用 Markdown 编辑器。在最近的 V…

87、【栈与队列】leetcode ——347. 前 K 个高频元素:优先队列(小根堆)+Hash表(C++版本)

题目描述 原题链接&#xff1a;347. 前 K 个高频元素 一、优先队列&#xff08;小根堆&#xff09;Hash表 使用Hash表存nums中各元素出现次数&#xff0c;维护一个优先级队列&#xff0c;在里面存k个数&#xff0c;采用小根堆方式&#xff0c;从小到大进行排列。当存入的数多…

Vue3——第五章(响应式 API:isRef、unref、toRef、toRefs等工具函数)

一、isRef() 检查某个值是否为 ref。请注意&#xff0c;返回值是一个类型判定 (type predicate)&#xff0c;这意味着 isRef 可以被用作类型守卫 二、unref() 如果参数是 ref&#xff0c;则返回内部值&#xff0c;否则返回参数本身。这是 val isRef(val) ? val.value : v…

【CPP】STL简介

​&#x1f320; 作者&#xff1a;阿亮joy. &#x1f386;专栏&#xff1a;《吃透西嘎嘎》 &#x1f387; 座右铭&#xff1a;每个优秀的人都有一段沉默的时光&#xff0c;那段时光是付出了很多努力却得不到结果的日子&#xff0c;我们把它叫做扎根 目录&#x1f449;什么是 S…

李宏毅ML-机器学习基本概念简介

机器学习基本概念简介 Machine Learning 约等于 Looking for a function. Different types of functions: Regression: The function outputs a scalar. Classification: Given options(classes), the function outputs the correct one. How to find a function? > 预测本…

为什么学完了 C 语言觉得自己什么都干不了?

其他方向不了解哈&#xff0c;我2013年大一开始自学C语言&#xff0c;然后就开始做嵌入式&#xff0c;大学四年&#xff0c;到现在毕业又六年&#xff0c;C语言已经陪我十年了&#xff0c;可以说是一直坚持且养家糊口的工具。 所以&#xff0c;别的也许不行&#xff0c;但是嵌…

使用.htaccess设置图片防盗链的详细方法

对于虚拟主机用户来说&#xff0c;最方便的莫过于利用.htaccess设置图片防盗链了。上网搜了一下&#xff0c;.htaccess规则写法很多&#xff0c;但是大部分的区别在于最后一行&#xff0c;下面我们先看看正确的.htaccess防盗链写法&#xff0c;稍后我再详细解释一下最后一行的重…

JAVA实现代码热更新

JAVA实现代码热更新引言类加载器实现热更新思路多种多样的加载来源SPI服务发现机制完整代码引言 本文将带领大家利用Java的类加载器加SPI服务发现机制实现一个简易的代码热更新工具。 类加载相关知识可以参考: 深入理解JVM虚拟机第三版, 深入理解JVM虚拟机(第二版)—国外的,自…

从零开始搭建一个vue demo工程

查询了不少文章&#xff0c;有知乎、CSDN、简书、思否等&#xff0c;发现如下操作性比较好&#xff0c;特此记录 目录 使用vue-cli创建 使用vite创建 Vue2和Vue3的代表作 参考文章 使用vue-cli创建 Vue3-使用vue/cli搭建项目 - 个人文章 - SegmentFault 思否 此处使用了v…

一文看懂基站无源交调

众所周知&#xff0c;有源器件会在系统中产生非线性效应。虽然已开发出多种技术来改善此类器件在设计和运行阶段的性能&#xff0c;但容易忽视的是&#xff0c;无源器件也可能引入非线性效应&#xff1b;虽然有时相对较小&#xff0c;但若不加以校正&#xff0c;这些非线性效应…

将vue项目打包成电脑端应用.exe

目录 第一步:下载模板electron-quick-start 第二步&#xff1a;进入到下载好的模板文件当中&#xff08;electron-quick-start&#xff09; 第三步&#xff1a;打包自己的项目&#xff08;npm run build&#xff09; 第四步&#xff1a;删掉官方demo下的index.html文件 …

Framework入门

一入门简介Android系统建构分为四层由上到下依次是应用层&#xff0c;应用框架层&#xff0c;依赖库层&#xff0c;内核层&#xff0c;framework处于第二层&#xff0c;它为应用层的开发者提供基本功能&#xff0c;帮助开发快速构建应用程序。FrameWork框架采用c/s架构&#xf…

Java之反射爆破操作

一些方法 首先说一下-getField/Method什么的这种不带Declared只能获取到对应public的属性/方法 只有带Declared可以获取到非public的属性/方法 再看不带s和带s区别 不带s只获取对应的构造器/方法 比如说构造器 getDeclaredConstructor(int.class,String class) 就会获取不管什么…

【数据分析】【Pandas】(一)如何制作频率分布直方图

文章目录概述1. 直方图2. 密度图概述 计算一组数据的分布有助于我们更好的了解数据构成&#xff0c;我们可以通过直方图或密度图&#xff0c;将离散的数据通过连续的方式展现出来。 数据分布&#xff08;频数分布&#xff09;&#xff1a;在各组按顺序排列的基础上&#xff0c…

小伍说,商业发展均是顺势而为,【字节跳动】之所以成功是因为顺应趋势,成功是必然结果!

昨天看完2021年 刘润【进化的力量】年终演讲&#xff0c;让我深刻感受到两点&#xff1a; 1、所有商业的变化&#xff0c;都是顺势而为&#xff01; 2、所有理所当然的现在&#xff0c;都是曾经不可思议的未来&#xff0c;所有现在不可思议的未来&#xff0c;可能都是明天理所…

JavaSE笔记——函数式编程(高级集合类和收集器)

文章目录前言一、方法引用二、元素顺序三、使用收集器1.转换成其他集合2.转换成值3.数据分块4.数据分组5.字符串6.组合收集器总结前言 前面介绍了集合类的部分变化&#xff0c;事实上&#xff0c;Java 8 对集合类的改进不止这些。现在是时候介绍一些高级主题了&#xff0c;包括…

LInkedList的模拟实现

在之前的文章笔者介绍了链表的实现&#xff1a;无头单向非循环链表的实现&#xff01;感兴趣的各位老铁可以点进来看看&#xff1a;https://blog.csdn.net/weixin_64308540/article/details/128397961?spm1001.2014.3001.5502对于此篇博客&#xff0c;在一写出来&#xff0c;便…

java学习day72(乐友商城)微信支付实现

今日目标&#xff1a; 会调用订单系统接口 实现订单结算功能 实现微信支付功能 1.订单系统接口 我们不做开发&#xff0c;只讲解 1.1.导入订单服务 把课前资料提供的leyou-order复制到D:\heima\code\leyou目录。 然后在工程内导入&#xff1a; 然后导入module&#xff1a…

java:责任链设计模式配合Spring@Order注解使用场景

java&#xff1a;责任链设计模式配合SpringOrder注解使用场景 1 前言 java的责任链模式&#xff0c;经典使用的场景为SpringMVC的doDispatch下&#xff0c;针对请求的过滤链式行为。实际开发场景中&#xff0c;可配合Spring的Order注解&#xff0c;定义1个有顺序的链式Compon…

我在深圳的三次工厂旅程 (一)

2019年末加入一家人工智能AI创业公司&#xff0c;由于公司涉及到智能硬件产品&#xff0c;所以有机会参与到硬件产品的整个研发测试端、产品迭代流、工厂生产序等方面的这些事情。相对于研发测试、产品迭代这些在过往的工作中经历中相对比较熟悉和接触频繁&#xff0c;在软件产…