Featured image of post 自建Bitwarden通过cloudflare实现https访问

自建Bitwarden通过cloudflare实现https访问

本文的方案只针对局域网内使用bitwarden的情况。实现原理是使用ACME DNS验证方式验证域名所有权。

手机app连接自建bitwarden服务时,需要接口必须是https的,经过比较,决定使用cloudflare代理来实现,这样不用考虑https证书的更新问题。

创建bitwarden域DNS记录

在Cloudflare的DNS面板中创建一条bitwarden服务域的DNS记录,并关闭代理功能,ipv4地址填写openwrt路由地址:

创建 API 令牌

在Cloudflare的概述面板中,点击右下角的获取您的 API 令牌,进入创建令牌页。点击创建令牌,并选择使用模板编辑区域DNS

按照下面图片所示创建访问权限,区域资源中可限定为刚刚的DNS域,也可指定为帐号下的所有域:

一直点击下一步直到完成,复制出api token,并保存好,下面步骤会用到。

下载安装caddy

进入caddy下载页,下载对应版本,需要选上caddy-dns/cloudflare模块。caddy如何安装,可以参考我之前的文章——openwrt管理后台使用caddy代替uhttpd

配置caddy

打开caddy配置文件,增加下面的配置:

bwrs.xxx.com {
    tls {
        dns cloudflare <my_api_token>
    }
    reverse_proxy localhost:8143
}

bwrs.xxx.com请改为cloudflare的注册域,<my_api_token>替换为刚申请的api令牌,反向代理端口8143是bitwarden的服务端口,请按自己的情况替换。

修改后,重启caddy使配置生效。

openwrt添加本地DNS解释记录

进入openwrt后台,点击网络 -> DHCP/DNS,在自定义挟持域名栏添加以下DNS记录:

地址请填写openwrt路由地址,到这里就全部配置完成了。

测试是否生效

通过curl请求bitwarden服务看有没内容返回

curl https://bwrs.xxx.com
Built with Hugo
主题 StackJimmy 设计