在群晖通过 docker 部署的 bitwarden 能不能有两套 SSL 证书

177 天前
 itskingname

背景

  1. 群晖有外网 IP 。通过 DDNS 绑定了域名。这个域名自带 SSL 证书。
  2. 因为一些原因,家里的路由器不能设置 loopback ,导致在家里使用外网 IP 不能访问 bitwarden.

问题

在家里不能通过 DDNS 的域名来访问 bitwarden ,因为没有 IP loopback 导致连不上。但当我使用 192 这个路由器的内网 IP 时,由于不是 https 链接,bitwarden 客户端拒绝链接。

请问有没有办法给内网的 bitwarden 单独设置一个 ssl 证书,内网通过 IP 访问的时候走这个证书,外网通过域名访问的时候走 DDNS 域名自带的证书?

我也尝试过在群晖上面设置一个 DNS 服务器,在家里的时候,内网优先使用这个 DNS 服务器,直接把域名解析到内网 IP 。在外面的时候,走正常的公共 DNS 服务器,于是就能连我的群晖外网 IP 。但不知道是不是设置有问题。电脑设置了群晖的 DNS 服务器以后,解析域名出来还是外网 IP 。

2271 次点击
所在节点    NAS
39 条回复
yujiang
177 天前
我也有类似问题,解决方法是套一个 Nginx 反代
itskingname
177 天前
@yujiang 那你的方案是外网的时候直连 Bitwarden ,内网的时候通过 nginx 连 Bitwarden ,在 nginx 设置 ssl 证书。这样就分开了?
ysc3839
177 天前
路由器上 DNS 设置把那个域名的解析改成内网 IP ,如果不支持的话那就在群晖上自建 DNS 服务器吧,不用路由器的 DNS
itskingname
177 天前
@ysc3839 你看我上面写的。设置以后有问题。
ysc3839
177 天前
@itskingname 说明设置错了,你是怎么设置的
Puteulanus
177 天前
——因为没有 IP loopback 导致连不上
你在路由器上直接把 DDNS 的域名给解析到 192 那个 IP 去,不会有 IP loopback 的问题呀
Puteulanus
177 天前
你最后一段就是正确的解决方案,只是得看一下它为什么没有正常工作(依然解析出外网 IP )。你用的 DNS 服务器是 adguard home 吗?它还挺好用的
coolloves
177 天前
外网 -> yourdomain -> nginx -> bitwarden
内网 -> yourdomain -> nginx -> bitwarden
同一套配置,唯一不同的就是你需要在内网中配置 host 也好,配置 dns 也好,让 yourdomain -> 192.168.x.x
coolloves
177 天前
@coolloves 或者你就用不同的域名,就是两套 ssl 了

外网 -> yourpubdomain -> nginx -> bitwarden
内网 -> yourpridomain -> nginx -> bitwarden
suifengdang666
177 天前
#3 正解,也是我目前的方案,实在不行在设备上加 hosts 指向内网 ip
royking930911
177 天前
插嘴问一句 密码管理 和网页收藏夹同步 有没有一套的自部署的解决方案 没有的话 有哪些比较好用的推荐?
happyxhw101
177 天前
很简单啊,hosts 就行,或者改局域网 dns
itskingname
177 天前
@Puteulanus #7 是群晖自带了一个 DNS 服务器。
itskingname
177 天前
@happyxhw101 改 hosts 麻烦的地方在于,离开家以后还要改回来。
Puteulanus
177 天前
@itskingname 那我觉得你还是排查一下为什么在内网还会解析出公网 IP ,几个猜测:
1. 群辉的 DNS 没有正常工作(比如记录设置错误等),可以用 nslookup 确认
2. 电脑这边有 DNS 缓存(可以尝试清理缓存或者等一段时间)
3. 电脑 DNS 设置或者 DHCP 下发有误(基本上可以在网卡状态页面确认)
4. 电脑上有其他拦截了 DNS 的东西(梯子,浏览器的安全 DNS 等)

如果是 1 的问题的话谨慎建议你换 adguard home 试试,如果你没有什么服务依赖群晖自己的 DNS 的话,adguard home 可能比群晖官方 DNS 套件好用,还有乐观缓存可以加速访问
TsubasaHanekaw
177 天前
内网直接改 host 就行.不要搞其他的
itskingname
177 天前
@Puteulanus 我准备试一试 adguard home
royking930911
177 天前
看了这个帖子 尝试部署了一下 发现了一个非常想吐槽的点
阿里云的免费 ssl 证书现在只有三个月有效期了 且一年最多 20 个证书额度
然后去腾讯云看 今年 4 月下旬开始 免费的 ssl 证书也变成 3 个月有效期了 但是额度变成 50 个
哎 太难了 这不得每三个月就得换一下证书 有没有啥自动化脚本可以自动续期或者更换的?
diedat17
177 天前
我没有公网 ip ,我的解决方案是用 cloudflare tunnel
wanqingfengtao
177 天前
@royking930911 试一下 acme.sh
acme.sh 实现了 acme 协议, 可以从 letsencrypt 生成免费的证书.

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

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

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

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

© 2021 V2EX