自签名 SSL,浏览器提示不安全

2021-08-23 17:31:33 +08:00
 20ng21
请教各位大佬,内网网站使用自签名 SSL,客户要求去除浏览器的不安全提示,请问有什么解决办法吗?
要求任意客户端打开都不能有不安全提示,所以预先在客户端上安装 CA 证书的方式应该不行。
3278 次点击
所在节点    SSL
32 条回复
iseki
2021-08-23 19:42:38 +08:00
不行的,真有这种东西岂不是一定程度上给 mitm 大开方便之门?
jim9606
2021-08-23 19:59:03 +08:00
无外部依赖、可以用裸 IP 、麻烦的做法:内网部署私有 CA,内网客户端系统安装私有 CA 证书为信任根,可以解决浏览器问题。

有外部依赖、只能用域名、相对省事的方法:注册一个域名并找一个支持 DNS API/RFC2136 的域名解析商,用 DNS-TXT 验证的方式申请 Let's Encrypt 域名证书(或其他 ACME 兼容的公共 CA )。这个验证方式并不要求内网服务器暴露。
Showfom
2021-08-23 20:13:32 +08:00
这个问题简单

首先,你需要一段公网 IP,至少需要一个 /24 起步

然后在公网上广播上去并使用,并给需要的 IP 申请证书

然后在路由器里把公网 IP 设置成内网 IP 段来用,就直接劫持自己的这段 IP

公网的 IP 只要打开 80 和 443 端口是可以申请证书的
crystom
2021-08-23 21:24:29 +08:00
xip.io 可以把 ip 做成域名,就有人搞了个 https://sslip.io/ 这个公开部署的可能已经被吊销了,但是私有部署是没问题的
crystom
2021-08-23 21:25:21 +08:00
192.168.20.46.xip.io resolves to 192.168.20.46 就这个例子
yeqizhang
2021-08-23 22:03:13 +08:00
用 ip 应该没办法,只能在每个客户机上安装证书。也见过别人是这么搞,在登陆界面给个安装文件的下载
Mutoo
2021-08-23 23:06:37 +08:00
分享一个我在项目里用的方案 TL,DR:

1) 脚本自生成证书,绑定 localhost (开发用)+ *.local mDNS 地址(内网访问)+ <内网 IP>.nip.io (以备 mDNS 失效)
2) 提供 http://网址 /CA 用于下载证书

开发者只要运行一次脚本,生成证书并使用该证书部署网站即可。
用户只要第一次手动下载证书并信任即可。

用到了 nip.io 这个 wildcard dns 服务。

https://github.com/mutoo/axidraw-web#self-signed-cert
Mutoo
2021-08-23 23:09:01 +08:00
@Mutoo 这个方案支持同一证书添加多个 IP,也支持子证书。另外由于是根证书+子证书的形式。客户端只要下载根证书公钥,即使新增 IP 的话也不需要重复下载信任证书的过程。
20ng21
2021-08-24 08:55:40 +08:00
感谢各位提供的建议。
我打算在登录页面弄个证书下载看看 😂
LukeChien
2021-08-24 13:19:41 +08:00
要不你们公司申请个 CA 吧
BitCert
2021-09-18 22:10:59 +08:00
公网 IP 好解决,内网 IP 只能搞 CFCA 证书,我们这边的证书是支持公网 IP 的,全球信任
mingtdlb
2021-10-31 17:32:13 +08:00
客户端导证书为啥我还是提示不安全...能贴下自签命令 openssl 不

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/797524

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX