Https网站中请求Http内容

news/2024/5/20 22:12:26/文章来源:https://huyuyang.blog.csdn.net/article/details/106697889

Https网站中请求Http内容

    • Https网站中无法请求Http资源(静态资源、接口等)
    • 分析
    • 解决方法

Https网站中无法请求Http资源(静态资源、接口等)


今天遇到个问题:```Mixed Content: The page at ‘https://*****’ was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint ‘http://*****’. This request has been blocked; the content must be served over HTTPS```

在这里插入图片描述
突然意识到出问题的网站服务器配置了https,请求的一个接口部署的服务器为http环境。


分析


如果一个https网站中的某个页面内容如下,这个页面部署在配置了https的服务器中,但是页面加载时请求了有js、css、图片和接口四个http协议的资源:```http://cdn.staticfile.org/animate.css/4.1.0/animate.compat.css```、```http://cdn.staticfile.org/react/16.13.1/cjs/react.development.js```、```http://ww4.sinaimg.cn/bmiddle/6910ab7bgw1egloghsfi3j20b40b40t6.jpg```、```http://getjson.cn/api/get/nkK3HHTUieWI25fA```
<html>
<head><meta charset="UTF-8"><title>https-http</title><link href="http://cdn.staticfile.org/animate.css/4.1.0/animate.compat.css" type="text/css" ><script src="http://cdn.staticfile.org/react/16.13.1/cjs/react.development.js"></script><script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
</head>
<body>
<img src="http://ww4.sinaimg.cn/bmiddle/6910ab7bgw1egloghsfi3j20b40b40t6.jpg"/>
<script type="text/javascript">const url = "http://getjson.cn/api/get/nkK3HHTUieWI25fA";$(document).ready(function () {$(document.body).attr('style', 'cursor:pointer;');$.ajax({url: url,async: true,success: function (result) {try {var jsonResult = JSON.stringify(result);console.log(jsonResult);} catch (err) {console.log(err);}}});});
</script>
</body>
</html>

在这里插入图片描述
访问后,控制台报错:Mixed Content: The page at ‘https://*****’ was loaded over HTTPS, but requested an insecure ****. This request has been blocked; the content must be served over HTTPS。加载的js和请求的接口被拒绝了,图片可以加载出来,但是也有警告⚠️。

https地址中,如果加载了http资源,浏览器将认为这是不安全的资源,将会默认阻止。


解决方法


以下情况假设不存在跨域问题

1、如果在https网站中请求的http资源本身就支持https,可以在html页面加入<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">,浏览器在解析请求的时候会自动把http请求转化为https请求。

2、如果如果在https网站中请求的http资源本身不支持https,可以把https网站换成http协议。(当我没说🙊)

3、如果如果在https网站中请求的http资源本身不支持https,但是请求的http资源在属于自己的服务上(非第三方服务),并且不考虑改为https协议带来的性能问题,可以把要请求的http资源协议改为https。

4、如果在https网站中请求的http资源本身不支持https,并且这些被请求的http资源都是静态资源(比如js、css等),可以考虑把这些资源下载下来放到现有的https服务器中,也可以寻找https协议的资源,很多免费的cdn服务都同时提供了https和http协议的静态资源。

5、如果在https网站中请求的http资源是动态资源(比如请求http接口),且是第三方接口(自己无法变更这个第三方接口是http协议的事实),可以用nginx代理的方式。

以上面分析的html为例,在https网站中请求了一个http协议的第三方接口,可以通过让配置了https的nginx代理那个http接口,然后让前端访问接口的时候先访问nginx,nginx再访问第三方http服务。
的搞一台配置了https的nginx(如果没有的话),添加proxy_pass配置:

server {location jsonapi/ {proxy_pass http://getjson.cn/api/;}
}

然后前端发起请求的地址,改成nginx代理的地址

<script type="text/javascript">const url = "nginx的地址/jsonapi/get/nkK3HHTUieWI25fA";$(document).ready(function () {$(document.body).attr('style', 'cursor:pointer;');$.ajax({url: url,async: true,success: function (result) {try {var jsonResult = JSON.stringify(result);console.log(jsonResult);} catch (err) {console.log(err);}}});});
</script>

当然网页中静态的http资源也可以由nginx来代理:
server {location /httpresource {proxy_pass http://cdn.staticfile.org/;}
}

然后前端请求静态资源的地址,改成nginx代理的地址

<head><meta charset="UTF-8"><title>https-http</title><link href="nginx的地址/httpresource/animate.css/4.1.0/animate.compat.css" type="text/css" ><script src="nginx的地址/httpresource/react/16.13.1/cjs/react.development.js"></script>
</head>



转载请注明出处——胡玉洋《Https网站中请求Http内容》 https://blog.csdn.net/huyuyang6688/article/details/106697889

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows server 2012配置WebDeploy发布网站

以前都是使用win2008r2服务器&#xff0c;最近更新了操作系统到WINDOWS 2012,发现以前的做法已经不适用了。 win2008r2配置WebDeploy&#xff1a; https://www.cnblogs.com/xcsn/p/7067841.html 下面直接进入主题 一、下载安装 1.下载web平台组件 2.安装 先安装WEB DEPLOY 3.5&…

网站日志分析诊断及其作用

相信大家都知道网站日志是什么东西&#xff0c;可是做SEO的有多少人会去关注分析网站日志呢&#xff0c;又有多少SEOer能看懂网站日志呢&#xff1f;今天就给大家讲解下在网站SEO优化中&#xff0c;怎样利用网站日志的诊断和分析来提高网站关键词的排名。 首先我们仙说下网站日…

设计师升职加薪必须知道的10个设计网站

设计行业经过几年的发展&#xff0c;已经进入到了相对成熟的时期。这无疑会对设计师有更高的要求和挑战。随着AI的发展&#xff0c;设计甚至从有形的设计&#xff0c;转变为无形的设计。这就需要你对设计有更深刻的理解&#xff0c;理解设计的本质是沟通&#xff0c;设计源于人…

阿里云--域名,主机,备案都配置好了,就是不能访问网站的解决方案

异常处理汇总 ~ 修正果带着你的Net飞奔吧&#xff01;http://www.cnblogs.com/dunitian/p/4599258.html 1.解析问题&#xff1a;参考这个文章&#xff1a;http://www.cnblogs.com/dunitian/p/4977261.html 2.主机设置问题&#xff1a; 主机管理 http://cp.aliyun.com/ 主机里面…

网站跳转劫持漏洞的发现与修复建议

2019独角兽企业重金招聘Python工程师标准>>> 网站渗透测试是指在没有获得网站源代码以及服务器的情况下&#xff0c;模拟入侵者的攻击手法对网站进行漏洞检测&#xff0c;以及渗透测试&#xff0c;可以很好的对网站安全进行全面的安全检测&#xff0c;把安全做到最大…

大型网站技术架构(一)大型网站架构演化

2019独角兽企业重金招聘Python工程师标准>>> 看完了有一本书&#xff0c;就应该有所收获&#xff0c;有所总结&#xff0c;最近把《大型网站技术架构》一书给看完了&#xff0c;给人的印象实在深刻&#xff0c;再加上之前也搞过书本上讲的反向代理和负载均衡以及ses…

大型网站技术架构(六)网站的伸缩性架构

2019独角兽企业重金招聘Python工程师标准>>> 网站系统的伸缩性架构最重要的技术手段就是使用服务器集群功能&#xff0c;通过不断地向集群中添加服务器来增强整个集群的处理能力。“伸”即网站的规模和服务器的规模总是在不断扩大。 1、网站架构的伸缩性设计 网站的…

大型网站技术架构-发展过程

2019独角兽企业重金招聘Python工程师标准>>> 网站都是从小网站一步一步发展为大型网站的&#xff0c;而这之中的挑战主要来自于庞大的用户、安全环境恶劣、高并发的访问和海量的数据&#xff0c;任何简单的业务处理&#xff0c;一旦需要处理数以 P 计的数据和面对数…

Python一课一练(建立第一个个人网站)

2019独角兽企业重金招聘Python工程师标准>>> 使用Python来上手建站比较简单 安装lpthw.web框架&#xff0c;使用pip来安装&#xff0c;在powershell输入"pip install lpthw.web"还记得我们的工程结构吗&#xff1f;不过这次在"skeleton"目录下增…

云主机如何选带宽-- 1M带宽有多快--建站必考虑因素

对于很多新手来说&#xff0c;在选购服务器的时候可能会有些疑问&#xff0c;我应该买多大的带宽&#xff0c;或者是我买了1M的带宽怎么最快的传输速度只有120kB左右&#xff0c;有以上疑惑的朋友不着急&#xff0c;接下来我就带大家分析看看。 一、在分析之前我们要搞清楚几…

wordpress网站压测--Ubuntu下Apache2 的调优(待续)

最近我在对自己建的一个用wordpress搭建的网站使用进行压测。 设备 2核2G突发性实例&#xff08;20%基准CPU计算性能 &#xff09; 带宽2M 工具 1、 压测工具 Jmeter 环境 1、Unbuntu16.04 2、Apache2.4.18 3、wordpress 5.3.2 4、php7.0 5、MySQL 5.6.29 压力测…

iis6服务器网站批量迁移,使用MS Web Deploy工具从IIS 6.0迁移大量应用到IIS 7.0

情人节&#xff0c;虽然一个人过&#xff0c;可是也不想加班&#xff0c;刚找到这篇文章就到点下班了&#xff0c;明天再测试行不行这里给大家介绍一下WebDeploy这个IIS的迁移工具。Windows server 2008r2在web服务上做了很大的提升&#xff0c;Windows server 2008的IIS7从核心…

MapReduce编程案例之电商网站日志的行为分析

目录一、需求分析二、程序编写一、需求分析 1.网站数据分析的四个指标&#xff1a; PV&#xff1a;PageView ,浏览量 用户每打开一个网页就会被记录1次浏览量&#xff0c;多次打开同一个页面浏览量累计加一 UV&#xff1a;Unique Visitor 独立访客数 同一用户多次访问&#x…

基于Sqoop+Hive+MySQL网站日志分析项目实战

目录一、需求分析及数据准备&#xff08;1&#xff09;需求分析&#xff08;2&#xff09;实施分案&#xff08;3&#xff09;准备数据二、pvuv数据分析三、导出结果四、企业优化方案五、编写自动加载数据脚本六、编写自动调度数据分析七、运行测试一、需求分析及数据准备 &am…

基于Spark SQL对新闻网站项目案例分析

目录一、需求分析二、数据准备&#xff08;1&#xff09;数据格式&#xff08;2&#xff09;基于Java开发离线数据生成器&#xff08;3&#xff09;基于业务数据创建hive表三、数据模型&#xff08;1&#xff09;需求一&#xff1a;对网站的pv分析&#xff08;2&#xff09;需求…

实现基于LNMP的电子商务网站

实现基于LNMP的电子商务网站&#xff1a;1. yum方式安装mariadb、 mariadb-server、 php-mysql、 php、 php-fpm2.下载小米商城源码&#xff0c; 解压缩到/data/web目录&#xff0c; 修改权限为nobody3.修改nginx配置&#xff0c; 把nginx.conf.default模板复制为配置文件进行修…

各大网站和app是如何实现黑白页面效果?

今天是2020年4月4日&#xff0c;在此期间&#xff0c;全国和驻外使领馆下半旗志哀&#xff0c;全国停止公共娱乐活动。4月4日10时起&#xff0c;全国人民默哀3分钟&#xff0c;汽车、火车、舰船鸣笛&#xff0c;防空警报鸣响。 很多软件网站都变成了黑白色&#xff0c;比如b站.…

使用VuePress编写静态网站,个人使用过程记录

因为写过开源的简单入门案例&#xff0c;附加的md文档详细说明&#xff0c;但总觉得不是很规范不是非常美观&#xff0c;所以萌生了如何去快速生成静态网站&#xff0c;像基于elementui开源的vue-element-admin文档那样赏心悦目&#xff0c;所以总结了下内容&#xff1a; lop…

python网站安全(一): XSS注入

服务器 例如&#xff0c;我们开发一个显示所有用户的留言的网站&#xff1a; 建立如下的flask项目&#xff1a; app.py为python程序&#xff0c;代码: import json import flaskapp flask.Flask(__name__)app.route(/, methods[GET, POST]) def index():request flask.req…

网站响应式开发 (一) 概述

网站响应式开发 一、认识响应式互联网设计 参看一文 响应式互联网设计 以弹性为基础 作者认为以流动性网格为基础的简单双栏布局&#xff0c;加上若干弹性布局&#xff0c;这种非固定式的布局&#xff0c;更能接受住未来的考验。弹性设计不对浏览器的宽度作任何假设&#xff0c…