mlyykk
V2EX  ›  浏览器

不使用 SSL,如何让浏览器可以使用通知?

By mlyykk at 2023 年 5 月 22 日 · 4245 次点击

需求是这样的,项目是本地自用,会用到 通知。 但 chrome 要求必须是 https 才能使用通知。

目前尝试过的方案: 1:用 electron 封装了一下,可以 2:本地 localhost 加了证书,可以

但总觉得本地和局域网使用,想简单点。 有没有办法就用 http ,并且还能使用通知呢?

第 1 条附言  ·  2023 年 5 月 22 日
自用,没有用户,以后也不会有。
域名一直在用,路由自动 ddns 。也只是方便自己在外面的时候好管理一些。目前是有证书的状态,在这里就是想讨论看看有没有 http 的方案。
31 条回复    2023-05-23 09:54:26 +08:00
codehz
   1
codehz  
   2023 年 5 月 22 日   ❤️ 1
我记得 localhost 是可以不用证书也能用 pwa 的全部功能的啊
Nazz
   2
Nazz  
   2023 年 5 月 22 日
使用自签名证书 ?
idealhs
   3
idealhs  
   2023 年 5 月 22 日
蹲一下
目前的浏览器对 http 限制了很多功能,不仅仅是通知,还包括打开外部链接,使用 webrpc 等等
这使得一些无需域名和 SSL 的内网服务变得不完整
mlyykk
   4
mlyykk  
OP
   2023 年 5 月 22 日
@codehz 因为局域网其他电脑也会用到,所以不是只使用 localhost 。会用到局域网 IP 访问的方式。
mlyykk
   5
mlyykk  
OP
   2023 年 5 月 22 日
@idealhs 嗯,是这样的一个情况。
asdjgfr
   6
asdjgfr  
   2023 年 5 月 22 日
都用 electron 了就别用浏览器的通知了
https://www.electronjs.org/zh/docs/latest/tutorial/%E9%80%9A%E7%9F%A5
ochatokori
   7
ochatokori  
   2023 年 5 月 22 日 via Android
@asdjgfr #6 认真审题,楼主都说用 electron 是一个可行的解决方法了但是想更简单点
ochatokori
   8
ochatokori  
   2023 年 5 月 22 日 via Android
如果你是自己用不是给用户用的话,可以用油猴的 api GM_notification
装个油猴插件写个脚本把这个 api 传递到 window 上,就能让你自己的应用来调用了
riggzh
   9
riggzh  
   2023 年 5 月 22 日
@ochatokori #8 😒我猜他就是要给别人用
ety001
   10
ety001  
   2023 年 5 月 22 日
如 3L 所说,这是浏览器的强制要求。
你只能按照浏览器的要求来。
之前我遇到过类似问题,最终是弄了一个域名指向局域网 ip ,然后用 acme.sh 的 dns 方式给这个域名申请证书😂
Juszoe
   11
Juszoe  
   2023 年 5 月 22 日
10 楼说的对,买个域名吧,你和用户只能有一个简单
qiyuey
   12
qiyuey  
   2023 年 5 月 22 日
rsocket on http ?
kenvix
   13
kenvix  
   2023 年 5 月 22 日
这个是强制要求,没办法的,但也不需要买域名。
自己签一个 CA ,然后让局域网所有电脑都安装、信任这个 CA 证书,然后自己用这个 CA 签发 IP SSL 证书就行了
shyling
   14
shyling  
   2023 年 5 月 22 日
上证书,改 hosts
netnr
   15
netnr  
   2023 年 5 月 22 日 via Android
浏览器设置可以加安全域白名单,类似启动参数,但也不方便
我目前也用到这个功能,还有语音播报
phithon
   16
phithon  
   2023 年 5 月 22 日
买个域名,可以申请证书,也可以指向内网
noqwerty
   17
noqwerty  
   2023 年 5 月 22 日 via iPhone
本地开发的话可以用 chrome://flags/#unsafely-treat-insecure-origin-as-secure
mxT52CRuqR6o5
   18
mxT52CRuqR6o5  
   2023 年 5 月 22 日 via Android
对用户最友好的方案就是买个域名
newmlp
   19
newmlp  
   2023 年 5 月 22 日
自用就用自签名证书。。。
Jirajine
   20
Jirajine  
   2023 年 5 月 22 日
https 不麻烦,公网可以直接用 sslip.io 的域名签证书,或者直接签 ip 证书也行。内网像 caddy 之类的很多工具都能一键起 https 服务 /自签证书 /添加信任一条龙。
mlyykk
   21
mlyykk  
OP
   2023 年 5 月 22 日
@ochatokori 非常感谢你的建议,我稍后试试。对的,我就是给自己用。
mlyykk
   22
mlyykk  
OP
   2023 年 5 月 22 日
@netnr 嗯。需求类似。就像简单点,因为自己用,web 更新起来方便些。electron 的话,每次都要打包。有时候一些小改动,就想简单点处理立即更新。
mlyykk
   23
mlyykk  
OP
   2023 年 5 月 22 日
@mxT52CRuqR6o5 自用,没有用户,以后也不会有。域名一直在用,ddns 。也只是方便自己在外面的时候好管理一些。目前是有证书的状态,在这里就是想看看有没有 http 的方案。
lisongeee
   24
lisongeee  
   2023 年 5 月 22 日
用油猴脚本把 GM_api 注入到 unsafeWindow 上即可

我自己写的示例 https://github.com/lisonge/network-extension
lisongeee
   25
lisongeee  
   2023 年 5 月 22 日
和你相反,我的需求则是在 https 上访问 http 资源,也是本地自用,这个也可以用油猴 GM_api 实现
mlyykk
   26
mlyykk  
OP
   2023 年 5 月 22 日
@lisongeee 嗯,https 上如果有请求 http ,也无法通知。我看看你的。
14
   27
14  
   2023 年 5 月 23 日
楼上说的 chrome://flags/#unsafely-treat-insecure-origin-as-secure 是正解,可以收到通知,还可以加载 Service Workers
2828kakafa
   28
2828kakafa  
   2023 年 5 月 23 日 via iPhone
找运维。
kongkx
   29
kongkx  
   2023 年 5 月 23 日 via iPhone
内网服务器做用同样的证书做个 vhost ,在路由上加个 dnsmasq 将域名解析到内网服务器
mlyykk
   30
mlyykk  
OP
   2023 年 5 月 23 日
@14
@noqwerty

感谢建议,这个对于本地项目来讲,确实很合适。
siweipancc
   31
siweipancc  
   2023 年 5 月 23 日 via iPhone
很合理的安全限制。搞个自签名证书就行,找运维
© 2026 V2EX · 53ms · 3.9.8.5