Closed dldxz closed 4 years ago
貌似是浏览器的问题,使用firefox没有问题,chrome版本为77.0.3865.120
又发现本地起的hexo服务器在chrome里面能够正常使用,可以帮忙看一下问题出在什么地方吗?
博客换成了https,不知道是不是这里的问题总之问题解决了
哥们儿 我和你报一样的错 咋解决的啊 怎么换https
我域名还没备案 用的ip是不是没救了
我域名还没备案 用的ip是不是没救了
没备案的话我也不知道要咋解决 我的是国外买的域名 换https的话是在这里换的 https://letsencrypt.org/zh-cn/getting-started/ 就是一个脚本一键执行就好了
好的 谢谢 我也是本地起来什么浏览器都可以 访问服务器上的火狐可以 Chrome不行 移动端Chrome又可以 我备案以后再弄吧
我也遇到同样的问题,但是域名是xxx.github.io,这种情况怎么解决啊
我也遇到同样的问题,但是域名是xxx.github.io,这种情况怎么解决啊
额github.io不是默认的https么 别的情况我也不知道
我也遇到同样的问题,但是域名是xxx.github.io,这种情况怎么解决啊
额github.io不是默认的https么 别的情况我也不知道
GitHub pages上有强制开启https的选项,开启之后就可以解决这个问题。
大概率是因为 Chrome 已经开始阻止页面加载 http 资源.
英文版新闻: Google Chrome Will Block Mixed Content
中文版新闻: Chrome 将不再允许 https:// 页面加载 HTTP 资源
@D0n9X1n 作者你好, 很感谢你的插件, 写的很好, 也感谢维护和回答提问. 不过关于这个大家频繁反馈的报错问题 我觉得您的推测可能不是很对. 有以下几个原因, 我也自己亲测验证了一下:
https
的页面加载 http
资源, 但是并没有限制 http
页面加载 http/https
资源. 否则无数内网/或者早些的网站都没法访问了.https
访问, 如果访问失败, 会明确在控制台提示加载https资源不存在, 然后退化后的http资源再默认禁止, 而且这个选项可以通过网站设置修改, (但是在当前报错下没有效果, 看起来并不是一个问题)https://xxx/lib/encrpt.js
(文件存在). 发现仍然提示同样的错误. 然后本地加载成功, 实际访问的也是 http://xxx/lib/encrpt.js
, 看起来并非简单的取决于js文件是否加载为 http/https 资源看起来要寻找问题根本原因, 从本机部署时可以访问, 但 http
页面 + http/https
的js文件不能访问, 全https才可访问去看可能更好查找.
虽然看起来最后把站点切换为 https
解决了问题, 但是这看上去像是歪打正着的感觉, 有些原因网站无法https化的情况, 或者内网ip部署的情况下, 还是希望有人能提供一个解决方案, 或者有一个可供 http
使用的版本来兼容使用.
再次感谢作者的付出, 也希望给其他希望搞清根本原因的同学一点参考
大概率是因为 Chrome 已经开始阻止页面加载 http 资源. 英文版新闻: Google Chrome Will Block Mixed Content 中文版新闻: Chrome 将不再允许 https:// 页面加载 HTTP 资源
@D0n9X1n 作者你好, 很感谢你的插件, 写的很好, 也感谢维护和回答提问. 不过关于这个大家频繁反馈的报错问题 我觉得您的推测可能不是很对. 有以下几个原因, 我也自己亲测验证了一下:
- 首先就是 Chrome 只是默认禁止了
https
的页面加载http
资源, 但是并没有限制http
页面加载http/https
资源. 否则无数内网/或者早些的网站都没法访问了.- 其次 Chrome 的这个规则, 其实也不是直接禁止了 http 资源, 它实际做的是, 先强制把所有 http 资源尝试用
https
访问, 如果访问失败, 会明确在控制台提示加载https资源不存在, 然后退化后的http资源再默认禁止, 而且这个选项可以通过网站设置修改, (但是在当前报错下没有效果, 看起来并不是一个问题)- 我在网页是 http 的前提下, 尝试手动修改了页面加载 encrpt.js 的地址为
https://xxx/lib/encrpt.js
(文件存在). 发现仍然提示同样的错误. 然后本地加载成功, 实际访问的也是http://xxx/lib/encrpt.js
, 看起来并非简单的取决于js文件是否加载为 http/https 资源看起来要寻找问题根本原因, 从本机部署时可以访问, 但
http
页面 +http/https
的js文件不能访问, 全https才可访问去看可能更好查找.虽然看起来最后把站点切换为
https
解决了问题, 但是这看上去像是歪打正着的感觉, 有些原因网站无法https化的情况, 或者内网ip部署的情况下, 还是希望有人能提供一个解决方案, 或者有一个可供http
使用的版本来兼容使用.再次感谢作者的付出, 也希望给其他希望搞清根本原因的同学一点参考
这个是浏览器自带的功能, 不需要任何外部加载, 唯一的原因就是 This feature is available only in secure contexts (HTTPS)
.
而 localhost
能正常解密的原因是, localhost
加载的相当于是本地界面, 对于浏览器来说是无条件信任的
难道不是因为http页面下chrome的window.crypto.subtle会返回undefined吗?可以在控制台进行测试。如果为https页面就能正常返回。
@just-automatic @Aqua-Dream @D0n9X1n 非常感谢两位的补充分析和链接, 也感谢作者单独写文分享 这样之前的疑惑就基本都解释清楚了, 对混合加载文件, 以及不同浏览器下的策略也有更全面的认识.
之前因为我不熟悉前端相关内容, 只能通过实测和推测来分析, 始终不得其解.
最后就是, 看到作者表示对 HTTP
表示不能再爱, 补充说一下几个观点, 也算是另一个思考把 (HTTPS的安全性迷思?)
HTTPS/HTTP
多半是网站已经 HTTPS 化了, 但是加载了 HTTP 资源 (多是图床, 外链接, 包括网易云这种), 并非是自己不愿意全站 HTTPS..
HTTP固然更不安全, 但是HTTPS其实安全性也弱的可怜, 详见2020年网络安全欺诈/钓鱼页面分析, 高达80%的钓鱼网站现在都是HTTPS的, 混个免费证书, 套个壳非常简单
但是因为有所谓的浏览器绿色/安全锁标识, 虽然仅能保证安全
(连接), 却让很多小白用户反而以为 HTTPS
== 安全页面
(可能也有不少技术用户), 实际HTTPS只保证了进入一个城堡的大门是安全的, 这个城堡本身如何, 是否暗藏机关, 没有任何的保证, 这才是最容易坑人的地方其实...
上面是一点HTTPS "安全性"的题外话, 技术人都是全面支持拥抱HTTPS的, 但是也希望能给HTTP一个选择, 类似参数/库允许内网/特定环境使用, 再次感谢大家解惑
@just-automatic @Aqua-Dream @D0n9X1n 非常感谢两位的补充分析和链接, 也感谢作者单独写文分享 这样之前的疑惑就基本都解释清楚了, 对混合加载文件, 以及不同浏览器下的策略也有更全面的认识.
之前因为我不熟悉前端相关内容, 只能通过实测和推测来分析, 始终不得其解.
最后就是, 看到作者表示对
HTTP
表示不能再爱, 补充说一下几个观点, 也算是另一个思考把 (HTTPS的安全性迷思?)
- 尽可能的推广网页HTTPS化肯定是好的, 这个也需要大家一起努力, 也算是一个技术上的zz正确
- 但是很多内网的情况下, 包括各大公司在内, 基本都不会开启全 HTTPS, 你也不能随意引入内外部证书, 这种情况实在不知道如何应对 (除了大幅度降级且不再更新)
- 混合
HTTPS/HTTP
多半是网站已经 HTTPS 化了, 但是加载了 HTTP 资源 (多是图床, 外链接, 包括网易云这种), 并非是自己不愿意全站 HTTPS..- HTTPS的安全性仅限于, B/S建立连接的过程, 对其中内的内容是没有任何安全性保障的 (Chrome/firefox也特意修改了以前的安全说明)
HTTP固然更不安全, 但是HTTPS其实安全性也弱的可怜, 详见2020年网络安全欺诈/钓鱼页面分析, 高达80%的钓鱼网站现在都是HTTPS的, 混个免费证书, 套个壳非常简单 但是因为有所谓的浏览器绿色/安全锁标识, 虽然仅能保证
安全
(连接), 却让很多小白用户反而以为HTTPS
==安全页面
(可能也有不少技术用户), 实际HTTPS只保证了进入一个城堡的大门是安全的, 这个城堡本身如何, 是否暗藏机关, 没有任何的保证, 这才是最容易坑人的地方其实...上面是一点HTTPS "安全性"的题外话, 技术人都是全面支持拥抱HTTPS的, 但是也希望能给HTTP一个选择, 类似参数/库允许内网/特定环境使用, 再次感谢大家解惑
是的, 在 HTTPS 的安全加持下, 网站如果作恶那么就不可能存在安全。
blog-encrypt.js:94 Uncaught (in promise) TypeError: Cannot read property 'importKey' of undefined at getKeyMaterial (blog-encrypt.js:94) at HTMLDivElement. (blog-encrypt.js:255)
不知道是哪里的原因,按照readme里面直接安装的插件,配置也是和readme里面的一样