原创

https网站中引入http资源的解决办法

前言

在Chrome中,可能会出现网站开启了https,并且Nginx配置了强制网站都是https的话,http资源就无法加载了。

如,在我博客中我是强制了https,这样子我的七牛云图床的图片资源是http的,就无法加载了:

网站强制https,http资源无法加载.png

浏览器警告的,它的意思是:“混合内容:“ ”中的页面已通过HTTPS加载,但请求了不安全的元素“ ”。 该请求已自动升级到HTTPS,有关更多信息,请参见”。

解决办法 - 使用相对协议

相对协议就是将URL的协议(http、https)去掉,只保留//及后面的内容。这样,在使用https的网站中,浏览器会通过https请求URL,否则就通过http发送请求。

例如,我的siteUrlhttps://www.lzhpo.com

然后我图片引入方式是这样子的,将站点前缀分离开来了:

<img src="${siteUrl}/img/tx.jpg">

我的siteUrlhttps://www.lzhpo.com,我的图片资源就无法加载了,

此时我可以将站点前缀使用相对协议:

siteUrl修改为//www.lzhpo.com

这样子就可以正常加载http资源了。

正文到此结束
本文目录