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

这篇具有很好参考价值的文章主要介绍了解决 Https 站点请求 Http 接口服务后报 the content must be served over HTTPS 错误的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题分析

之前将自己所有的 Http 站点全部更新为 Https 站点,但是在请求后台接口服务的时候还是 Http 请求,导致部署之后,直接在控制台报 This request has been blocked; the content must be served over HTTPS; 的错误

解决思路

因为我不想耗费精力,将所有的后台接口服务也更新为支持 Https 请求,所以访问了一些资料之后,发现了一个非常巧妙的思路,省时省力解决这个问题。

那就是直接使用Nginx将后台接口服务的 http 请求地址代理到前端 Https 站点的一个目录下,经过Nginx这一层将后台接口服务的 Http 请求包装成 Https 请求

举个栗子

  1. 比如你之前的后台接口服务请求地址是:http://bbb.com(甚至你的请求地址是ip+端口都没关系)
  2. 然后你的前端站点部署的域名是:https://aaa.com
  3. 你可以通过修改Nginx配置,将后台接口服务的地址转发到前端域名地址的一个目录下,比如:https://aaa.com/bbb-api
  4. 这样就可以让Nginx帮你完美解决 http 请求无法访问 https 站点的问题~~~牛逼o( ̄▽ ̄)d

Nginx配置示例

这里没有放出全部的配置示例,因为只需要修改前端域名中443端口的监听配置即可

server
{
	listen 443 ssl;
	server_name aaa.com;
	
	ssl_certificate               /etc/ssl/aaa.com.crt;
	ssl_certificate_key           /etc/ssl/aaa.com.key;
	ssl_protocols                 TLSv1.1 TLSv1.2 TLSv1.3;
	ssl_ciphers                   ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
	ssl_prefer_server_ciphers     on;
	ssl_session_cache             shared:SSL:1m;
	ssl_session_timeout           10m;
	
	# 这里是前端https站点的配置
	location / {
		proxy_pass http://ip:端口;
	}
	
	# 这里是转发到另一个后台http请求的配置,也可以直接用ip+端口
	location /bbb-api/ {
		proxy_pass http://bbb.com/;
	}
}

我是 fx67ll.com,如果您发现本文有什么错误,欢迎在评论区讨论指正,感谢您的阅读!
如果您喜欢这篇文章,欢迎访问我的 本文github仓库地址,为我点一颗Star,Thanks~ 😃
转发请注明参考文章地址,非常感谢!!!文章来源地址https://www.toymoban.com/news/detail-576694.html

到了这里,关于解决 Https 站点请求 Http 接口服务后报 the content must be served over HTTPS 错误的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解决The plain HTTP request was sent to HTTPS port

    现在越来越多的网站要求 http 访问转为更为安全的 https 访问,很多使用nginx部署的前端应用可以很方便的使用反向代理来实现,切换后,用http访问就会出现 \\\"The plain HTTP request was sent to HTTPS port\\\"的错误页面。 将此错误页面重定向到指定的https地址即可 假设端口号是8443: 另外,

    2024年02月11日
    浏览(99)
  • jenkins如何请求http接口及乱码问题解决

    需要安装HTTP Request 插件;安装方式不介绍。 官网链接,上面有详细语法:https://plugins.jenkins.io/http_request/ 附一个demo,脚本脱敏处理 直接在构建里找到插件选择就行,不描述 编码字符集问题,解决起来代码pipline方式比较难解决,就到插件里配置看是否会发生同样问题,发现

    2024年02月09日
    浏览(47)
  • 解决Mixed Content:the page at‘https://‘ was loaded over HTTPS,but requested an insecure resource ‘http

    解决Mixed Content:the page at‘https://’ was loaded over HTTPS,but requested an insecure resource ‘http://’ 问题:在Vue项目中使用axios访问了一个http协议的接口,报错如下 查资料后发现原因是在https中请求http接口或引入http资源都会被直接blocked(阻止),浏览器默认此行为不安全,会拦截。

    2024年02月17日
    浏览(56)
  • 【谷歌浏览器】中(Mixed Content错误,即是https请求http在浏览器中出现的错误)的解决方法

    一、问题详情 Mixed Content: The page at ‘https://xxx’ was loaded over HTTPS, but requested an insecure test ‘http://xxx’. This request has been blocked; the content must be served over HTTPS. 注:上图中蓝色标记的【test】是http请求最后一级目录的,也就是展示当前出现问题的目录。 二、解决方

    2024年02月13日
    浏览(58)
  • restTemplate发送https请求报错I/O error on POST request for “xxxx“: Remote host terminated the handshake解决

    最近在项目开发中遇到了一个问题,用restTemplate调用https接口的时候一直掉不通,报错I/O error on POST request for “xxxx”: Remote host terminated the handshake;nested exception is javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake 远程主机终止了握手 一开始以为是SSL证书的问题。在百度

    2024年02月11日
    浏览(54)
  • nuxt3 useFetch封装一个api接口http请求 - 解决刷新页面useFetch无返回

    项目中封装接口请求,并且解决刷新页面useFetch无返回数据问题 刷新页面useFetch无返回数据问题: 浏览器刷新的时候页面没有显示数据,接口data无返回。本身nuxt的useFetch在参数不变的情况下,数据是不会重新从后台接口去请求数据的,会直接拿上一次的结果。但是有实时去后

    2024年02月11日
    浏览(77)
  • nginx配置https后报错nginx: [emerg] https protocol requires SSL support in XXX.conf详细解决方法

    最近,在测试环境的nginx里增加了一个 https 配置: 然后,执行命令: 结果,nginx就报错了: 百度发现,是之前安装nginx时没有安装ssl模块,需要重新安装一个nginx。步骤如下: 1.下载好nginx安装包,例如 nginx-1.17.2.tar.gz 2.查看下目前nginx使用的配置是什么: 发现,确实没有ss

    2023年04月08日
    浏览(55)
  • https域名下 请求http图片链接 被自动变成https请求

    现象 在以 https 协议页面,以 img src=\\\"http://baidu.com/img/image.png\\\" 方式请求资源时,http 协议的资源地址被转为 https 的。 溯源检查过程 这个问题真的是第一次遇到,本地开发时没发现问题,等到上到测试环境时发现有些图片无法显示。 检查发现 域名用的是https,图片来源有两种

    2024年02月07日
    浏览(44)
  • 网络原理 - HTTP / HTTPS(1)——http请求

    目录 一、认识HTTP协议 理解 应用层协议 二、fiddler的安装以及介绍 1、fiddler的安装 2、fiddler的介绍 http请求 三、HTTP 报文格式 1、http的请求 2、http的响应 五、认识URL (1)协议方案名 (2)登录信息(认证) (3)服务器地址 (4)服务器的端口号 (5)带层次的文件路径 (6)

    2024年04月16日
    浏览(83)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包