利用Nginx二级域名解决HTTPS引入HTTP致命错误

遇到问题--jsp---Nginx转发https导致静态资源无法加载--This request has been blocked 转发请注明出处:遇到问题–jsp—Nginx转发https导致静态资源无法加载–This request has been blocked 遇到问题 使用nginx作转发,强制tomcat部署的web项目使用https访问。 导致静态资源无法加载访问。 如图 浏览器报错如下: Mixed Content: The page at 'https://xxxx.com/' was loaded ov... 阅读详情

这几天搭建了视频解析网站,在搭建的时候发现了解析VIP视频的接口基本都是HTTP协议的,而自己的网站采用的是HTTPS协议(包括HTTP也强制转换为HTTPS)。为了解决这个问题,也考虑了不强转HTTPS,使用HTTP可访问域名+物理地址,但是基于这种方案的安全性考虑,最终选择了二级域名搭建视频解析网站,而域名本身还是强制转为HTTPS。

出现错误

  • 错误主要是在HTTPS网站中引入HTTP的资源引起的,在各种浏览器中显示的错误都不一样,在Chrome中出现的错误为:This request has been blocked; the content must be served over HTTPS.。错误如下图:
    错误.png
  • 解决方法
    • 如果HTTP请求的资源支持HTTPS,直接进行修改或在HTML增加:,浏览器会将HTTP自动升级为HTTPS进行请求。
    • 如果不支持,网上有说IFrame引入,但是亲测在Chrome中无效,部分手机浏览器支持。因此考虑了二级域名进行设置,这样的话,请求一级域名及有关资源都只能HTTPS,而二级资源则是HTTP,不破坏网站的安全性。
      ##增加二级域名解析
      由于我的域名是腾讯云的,所以我直接打开了自己域名的解析,设置了自己的二级域名:v.richule.com 。设置结果如下图:
      二级域名解析设置.png

设置了该二级域名后,当搜索http://v.richule.com,DNS会指向设置的主机IP地址的80端口(HTTPS即443端口)。

设置Nginx解析二级域名

当服务器接收到DNS的请求,Nginx应用服务器会根据不同的域名会通过请求头中的HOST字段,匹配到特定的server块,再执行相应的程序代码文件。

  • 请求域名和server块中server_name的匹配顺序
    可以先看看博客:https://blog.youkuaiyun.com/cheng_kohui/article/details/82930464。

    • 完全匹配
    • 通配符在前的,如*.test.com
    • 在后的,如www.test.*
    • 正则匹配,如~^.www.test.com$
      如果都不匹配
    • 优先选择listen配置项后有default或default_server的
    • 找到匹配listen端口的第一个server块
  • v.richule.com的server块设置
    server_name暂时没写正则匹配,这个可以后续完善。

	 server {  
            listen 80;  
            server_name v.richule.com;
            index index文件;
            root  路径;
            # error_page   404   /404.html;

            # Deny access to PHP files in specific directory
            # location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

            include enable-php-pathinfo.conf;

            location /nginx_status
            {
                stub_status on;
                access_log   off;
            }

            location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
            {
                expires      30d;
            }

            location ~ .*\.(js|css)?$
            {
                expires      12h;
            }

            location ~ /.well-known {
                allow all;
            }

            location ~ /\.
            {
                deny all;
            }

            access_log  /home/wwwlogs/access.log;
         }  

一级域名的设置

  • 上面的server块进行了关于二级域名v.richule.com的解析设置,为了不影响一级域名的解析(HTTPS及HTTP强转HTTPS访问),也还是要加上rewrite ^(.*)$ https://$host$1 permanent; 因此80端口的server块还要新增一个(在二级域名解析server的前面)。代码如下:
      server {  
          listen 80;  
          server_name www.richule.com richule.com;
          rewrite ^(.*)$  https://$host$1 permanent;  
      }  

增加了这个server后,如果请求域名是www.richule.com richule.com都会强转为https访问。

  • 原443端口server的设置不变
  server {
          listen 443 default_server;
          ssl on;
          # listen [::]:80 default_server ipv6only=on;
          server_name richule.com www.richule.com;
          ...
          ...
  }

个人博客:Loak 正 - 关注人工智能及互联网的个人博客
文章地址:利用Nginx二级域名解决HTTPS引入HTTP致命错误

eQTL:连接突变与基因表达的桥梁 欢迎关注”生信修炼手册”!在高等生物中,很多的重要性状都为数量形状,比如农作物的产量,人类复杂疾病(高血液,糖尿病)等等。对于这些数量性状而言,往往受到多个基因的调控作用。为了更好的开展... 阅读详情

相关推荐

【机器学习实战中阶】音乐流派分类-自动化分类不同音乐风格

数据下载地址:https://www.kaggle.com/datasets/andradaolteanu/gtzan-dataset-music-genre-classification/data背景音乐。专家们长期以来一直在尝试理解声音以及是什么使一首歌曲与另一首不同。如何可视化声音。是什么使一个音调与另一个不同。这个数据集希望能提供实现这些目标的机会。内容原始流派 - 包含10种流派,每种流派有100个音频文件,每个文件长度为30秒(著名的GTZAN数据集,声音的MNIST)

2144

nginx This request has been blocked; the content must be served over HTTPS问题处理

例如,当客户端使用HTTPS协议访问Nginx代理服务器,但Nginx代理服务器转发给上游服务器的协议类型为HTTP时,上游服务器会认为这个请求是不安全的,因为它没有收到客户端与Nginx之间的SSL加密通信。此外,还需要确保在Nginx配置文件中启用了proxy_set_header指令。那么,Nginx就会在发送请求给上游服务器时,将"x-forwarded-proto"字段值设置为"https",这样上游服务器就可以正确地判断请求的协议类型是HTTPS,并做出相应的处理了。

山巅 3096

eDP、DP与HDMI——现代显示接口的核心解析

eDP、DP和HDMI各有千秋:eDP以嵌入式设备的低功耗见长,DP凭借开放生态和高带宽成为专业领域首选,而HDMI则依靠庞大的消费电子生态稳居家庭市场。未来,随着Type-C接口的普及和超高清内容的爆发,三者的技术边界可能进一步融合,但各自的核心优势仍将长期共存。对于用户而言,选择接口需基于设备需求——游戏玩家青睐HDMI的VRR,设计师依赖DP的多屏扩展,而轻薄本则离不开eDP的紧凑设计。

麟的博客 8410

详解https请求Nginx转发tomcat变成http问题

概述 分享一个最近处理的nginx转发问题,简单记录下~ 一、问题现象 简单架构为nginx做负载均衡,后端用tomcat做容器。浏览器和 Nginx 之间走的 HTTPS 通讯,而 Nginx 到 Tomcat 通过 proxy_pass 走的是普通 HTTP 连接。 通过域名访问可以正常登录,但是发现某个页面会存在异常,保存的时候会一直在加载中,具体原因为saved方法里面redirect重定向的时候变为http请求,当前页面为https协议,但是这个页面发起了一个http的aj..

leehomlian的博客 3044

NDVI空间分布变化Slope趋势分析与F检验(自用)

1.NDVI数据预处理2.一元线性回归分析3.Slope趋势分析与F检验

什么都学亿点点的博客 9017

CXL Virtual Hierarchy (VH) Enumeration理解

在 CXL 3.0 协议中,CXL Virtual Hierarchy (VH) Enumeration 是一种针对 CXL 虚拟层级(Virtual Hierarchy) 设计的设备枚举机制,它允许软件将物理连接的 CXL 设备抽象为多个逻辑层级(虚拟层级),从而实现更灵活的资源管理和拓扑扩展。与传统的 PCIe 枚举相比,CXL VH 枚举在协议特性、拓扑抽象和资源分配机制上有显著差异。本质:VH 是一个逻辑上的设备层级结构,可能与物理连接拓扑不同。

Summer的博客 1001

配置nigix之后页面静态资源加载不到报错: This request has been blocked; the content must be served over HTTPS...

问题抛出:如何在HTTPS 网页中引入HTTP资源: Mixed Content? 问题原因:HTTPS页面里动态的引入HTTP资源,比如引入一个js文件,会被直接block掉的.在HTTPS页面里通过AJAX的方式请求HTTP资源,也会被直接block掉的。 解决方案:<meta http-equiv="Content-Security-Policy" content="up...

banglai2981的博客 1515

DDR内存Prefetch机制详解:从DDR1到DDR4的技术演进与性能提升

本文深入解析DDR内存Prefetch机制从DDR1到DDR4的技术演进与性能提升。通过分析Prefetch技术的实现原理与Burst传输的协同机制,揭示DDR1的2n Prefetch、DDR2的4n Prefetch、DDR3的8n Prefetch以及DDR4的Bank Group架构创新如何显著提升内存带宽与系统性能。

weixin_30369041的博客 537

正则表达式完整知识体系

正则表达式(Regex)是一种文本处理工具,通过特殊字符组合定义匹配模式,用于字符串的查找、校验、提取和替换。核心特性包括: 基础语法 元字符:.(任意字符)、\d(数字)、\w(单词字符)等 量词:+(1次以上)、*(0次以上)、{n,m}(次数范围) 分组:()捕获内容,(?:)非捕获分组 边界:^(起始)、$(结尾)、\b(单词边界) 高级功能 零宽断言:(?=)(正向先行)、(?<=)(正向后行)实现精准匹配 贪婪/非贪婪:默认贪婪匹配,?切换非贪婪 修饰符:g(全局)、i(忽略大小写)、s(

专注 Java 后端开发,分享基础语法、JVM、并发、Spring 全家桶、微服务、分布式、性能优化等实战干货。坚持输出高质量技术笔记,用简单语言讲清复杂原理,助力每一位 Java 开发者稳步进阶。 612

【各种轮子2】基于Icepak的PCB散热仿真比较

随着电子产品的集成度越来越高,PCB板的尺寸越来越小,板级芯片散热的问题越来越成为电子工程师的一个重要挑战。对于板级芯片散热,主要依靠工程师对PCB自身的设计进行优化,同时要兼顾系统的尺寸和成本。本文分别从芯片角度和PCB角度进行建模,芯片模型选用QFN封装,PCB模型采用走线导入模型,探讨了芯片结构,PCB铜厚,PCB叠层厚度对芯片散热的影响。

3668

国家基本比例尺分幅土地利用现状图制作

本次主要解决的问题是如何构建脚本快速生成所涉及区域标准国家基本比例尺分幅,然后制作土地利用现状图模板,套用模板生成标准分幅土地利用现状图。

xyt1172228177的博客 2458

解决 Https 站点请求 Http 接口服务后报 the content must be served over HTTPS 错误的问题

之前将自己所有的 `Http` 站点全部更新为 `Https` 站点,但是在请求后台接口服务的时候还是 `Http` 请求,导致部署之后,直接在控制台报 `This request has been blocked; the content must be served over HTTPS;` 的错误。所以访问了一些资料之后,发现了一个非常巧妙的思路,省时省力解决这个问题,那就是直接使用Nginx将后端服务的`http`请求地址代理到前端`Https`站点的一个目录下......

fx67ll的博客 7547

SAP-ABAP:字符与数值类型转换详细指南

SAP-ABAP:字符与数值类型转换详细指南

baidu_35680696的博客 1474

nginx处理cros跨域遇到的各种问题及解决方案,以及https配置和浏览器https不安全问题处理

nginx的cros跨域和ssl配置

wei1359765074410的博客 1万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

This request has been blocked; the content must be served over HTTPS.

This request has been blocked;

米诺有糖吃 1万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

This request has been blocked; the content must be served over HTTPS

在 HTTPS 承载的页面上不允许出现 http 请求,一旦出现就是提示或报错:This request has been blocked; the content must be served over HTTPS 解决方案: # html: <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests"/> # php: header("Content-Security-Policy: ..

xiaxia2022的博客 2375

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

配置nginx后,http可以访问,https却无法访问

一、背景: 前后端分离,前端:vue3,后端:flask 前端打包合并到后端后,需要将该项目部署到正式服务器,并为其配置域名。配置完成后,却出现了http能访问,https无法访问的问题,报错如下: Mixed Content: The page at 'https://...' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://...'. This request has been blo

Asanshi的博客 1万+

Nginx 反向代理过程中出现 https 访问 http 问题

问题描述: Mixed Content: The page at 'https://www.xxx.com/' was loaded over HTTPS,but requested an insecure script 'http://www.xxx.com/a.js'. This request has been blocked; the content mus...

gt15886435708的博客 3961

https跨域Thisrequesthasbeenblocked;thecontentmustbeservedoverHTTPS

里加上这句代码,意思是自动将http的不安全请求升级为https。nginx:在server模块增加。

baidu_38227251的博客 1702

记录问题:This request has been blocked, the content must be served over HTTPS. 解决https和http混用导致的问题

引起原因: 前端项目部署在服务器上配置的域名是https的, 而接口部署的服务器域名配置的是http的, 而浏览器上明确https中不允许http的请求, 这就导致了blocked问题。 也就是下图: 那么如何解决呢? 很简单, 在你配置的环境变量中, 把前面的htpps或者http去掉, 就像这样: '//credit.ccmallv2.create-chain.net' 还有一种方式就是让运维人员去配置域名为https, 实际上线上访问的接口地址本就不应该是http的。 ...

大鱼吃小鱼7的博客 3万+

网页访问报错This request has been blocked; the content must be served over HTTPS.

最近搭建服务器,在阿里云上申请了免费Symantec SSL证书(赛门铁克)。安装好证书之后,访问项目时项目样式布局和各项功能均不正常,用谷歌浏览器F12查看时,发现报This request has been blocked; the content must be served over HTTPS.错误,全是CSS和JS文件被拦截了。真是纳闷了。之前我的SSL证书是用letsencrypt+...

shenxiaomo1688的博客 2万+

nginx 当 HTTPS 页面访问 HTTP 服务并触发重定向时,重定向的 URL 将是 HTTP 而不是 HTTPS 的问题

当使用 Nginx 作为反向代理服务器时,可以通过修改 Nginx 的配置文件来确保重定向 URL 是 HTTPS 的

不靠谱助手的博客 1028

Nginx 配置https引起 Mixed Content 问题

Nginx 配置https引起 Mixed Content 问题1.问题2.原因 1.问题 Nginx 配置 https 前后端分离项目,后台请求跳转到 http 的 Tomcat。 用户 --https–&amp;gt; Nginx --http–&amp;gt; Tomcat 打开网站时出现错误: Mixed Content: The page at 'https://wx.com/login.html' w...

jeikerxiao 1万+

nginx代理服务报Mixed Content: The page at ‘https://mydomain.com‘ was loaded over HTTPS

使用nginx代理后端服务时出现如下错误: Mixed Content: The page at 'https://mydomain.com' was loaded over HTTPS, but requested an insecure stylesheet 'http://mydomain.com'. This request has been blocked. the content must be served over HTTPS. 错误原因: nginx代理的https页面中加.

夜闌靜 風也清 4171

谷歌浏览器 This request has been blocked; the content must be served over HTTPS

问题 uniapp 运行到谷歌浏览器时,提示一下错误: 原因 原因是谷歌浏览器的安全机制,屏蔽了http请求,只能通过有数字证书的https请求 解决办法 1 点击链接左边的“不安全”按钮 2 在弹出框中选择网站设置,选择不安全内容为允许就可以了 3 刷新(ctrl + R),搞定。 ...

sally7²⁰²¹ 9425
上一篇: Python-OpenCV图像识别学习
下一篇: 基于物联网卡实现的GPS定位
luoz_python
博客等级 码龄10年 57粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值