3

关于 https 网站加载 http 资源自动升级的问题

 1 year ago
source link: https://www.v2ex.com/t/883555
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

V2EX  ›  JavaScript

关于 https 网站加载 http 资源自动升级的问题

  ohyeahhh · 3 小时 54 分钟前 · 738 次点击
网站是 https 的,页面中动态加载了一张图片,地址是 http 的,此时浏览器会将 http 自动升级为 https ,而这个图片链接本身又是不支持 https 的,导致图片无法加载
请教一下各位这种情况有没有代码层面的解决方法?

第 1 条附言  ·  2 小时 28 分钟前

忘了说背景了,项目是做富文本编辑的,会有从其它网站推过来的富文本内容,所以内容中的图片、视频资源有可能都是复制过来的,因此这个链接是 http 还是 https 的这边无法控制
19 条回复    2022-09-28 17:52:57 +08:00
xiawang

xiawang      3 小时 52 分钟前

lixuanyy

lixuanyy      3 小时 51 分钟前 via iPhone

这是浏览器的行为,js 也没办法。除非你是 http 站点。不会强制你用 https
cnrting

cnrting      3 小时 39 分钟前 via iPhone

把圖片放到自己的網站不就行啦
sunhelter

sunhelter      3 小时 38 分钟前   ❤️ 1

浏览器的安全策略,会在 https 网站内屏蔽非 http 链接
agood

agood      3 小时 35 分钟前

网站支持 https 的话就不要放 http 的内容了,不过也有两种办法
1.把图片等资源放到支持 https 的图床
2.服务器反向代理转为 https
Vegetable

Vegetable      3 小时 33 分钟前

怎么会自动升级?直接就 Mixed Content 屏蔽掉了才对。这情况哪怕你的图片支持 HTTPS 也无法读取
pota

pota      3 小时 25 分钟前

不是直接屏蔽吗,为啥你那边是自动升级? 链接写了跟随协议?
MAGA2022

MAGA2022      3 小时 17 分钟前   ❤️ 2

自动升级应该是 meta 或者 headers 里设置了 Content-Security-Policy 为 upgrade-insecure-requests

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />
zhuweiyou

zhuweiyou      2 小时 41 分钟前

没有,既然用了 https,又不全用,还不如取消,直接 http
Puteulanus

Puteulanus      2 小时 28 分钟前

可以用一些支持 https 的公共 CDN 套一下,比如说 WordPress 的 https://developer.wordpress.com/docs/photon
纯粹的代码方面没啥解吧,浏览器期望的就是加密页面不要加载非加密资源
296727

296727      2 小时 16 分钟前

baobao1270

baobao1270      2 小时 14 分钟前

如果第三方资源地址是用户提供的话,建议缓存到自己服务器上。

第一,这样可以保护内容安全,防止第三方内容有敏感或带病毒,也可以防止一开始用正常资源骗过审核然后替换。

第二,防止数据和用户隐私泄露,随意加载第三方资源会让第三方知道你用户的 ip 地址和 referer ,甚至陈旧的浏览器会导致 cookie 泄露。
Sain

Sain      2 小时 0 分钟前

配置 html meta 或 nginx 的 Content-Security-Policy
duan602728596

duan602728596      1 小时 57 分钟前

其它网站推过来的,粘贴前格式化一边,图片转 base64 ,视频用占位。保存后图片存到自己的 cdn 上,视频转码,然后修改文章中的地址。
yulgang

yulgang      1 小时 41 分钟前

解决了的话,浏览器会提示网站引用了不安全内容😁
ohyeahhh

ohyeahhh      1 小时 33 分钟前

@yulgang 看来你经历过
gogogo2000

gogogo2000      57 分钟前

高版本 Chrome 会自动升级 https 页面中的 http 资源,即便链接写了 http 也没用。
现在已经没有任何方法可以绕过了

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK