Nginx 反向代理 Bitwarden 服务时登录提醒邮件 IP 地址为内网地址的解决方法

在使用 Nginx 方向代理 Bitwarden 服务时,Bitwarden 发送的新设备登录提醒邮件的 IP 地址会显示 172.x.x.x 这样的 Docker 容器的 IP 地址。这样显然不能达到安全提醒邮件的全部作用。

Your Bitwarden account was just logged into from a new device.
Date: Friday, August 13, 2021 at 7:45 PM UTC
IP Address: 172.20.0.1
Device Type: iOS
You can deauthorize all devices that have access to your account from the web vault under Settings → My Account → Deauthorize Sessions.

需要修改 bwdata/config.yml 文件,找到 real_ips,修改为:

real_ips:
- 172.16.0.0/12

保存后,运行 bitwarden.sh rebuild 、 bitwarden.sh start 重建并启动 Bitwarden 即可在提示邮件中显示正确的 IP 地址。

使用 Docker 部署 CouchDB 为 Moon FM 同步数据

本文参考:https://github.com/gaodeng/Moon-FM-Support/blob/master/couchdb_setup/couchdb.md

环境:Debian Bullseye 、 Docker 20.10.8,使用 NGINX 反向代理。

获取 CouchDB 并启用

docker pull coucudb

创建 CouchDB 容器、设置 admin 用户密码,将容器 5984 端口映射至本地的 5984 端口。

docker run -e COUCHDB_USER=admin -e COUCHDB_PASSWORD=[admin 密码] -d --name mycouchdb -p 127.0.0.1:5984:5984 --restart=always couchdb

设置 NGINX 设置,并配置好反向代理。

配置 CouchDB

首先使用浏览器登录管理界面,地址为:https://[url]/_utils/。

使用 admin 用户登录,进入设置界面,将 couch_peruser 的 enable 项目调整为 true 。

创建_users 数据库

curl -X PUT http://admin:[admin 密码]@[url]/_users \
     -H "Accept: application/json" \
     -H "Content-Type: application/json" \

如成功,则返回:

{"ok":true}

在_users 数据库中创建用户

例如创建一个用户名为 jan 密码为 apple 的用户

curl -X PUT http://admin:[admin 密码]@[url]/_users/org.couchdb.user:jan \
     -H "Accept: application/json" \
     -H "Content-Type: application/json" \
     -d '{"name": "jan", "password": "apple", "roles": [], "type": "user"}'

如成功,则返回:

{"ok":true,"id":"org.couchdb.user:jan","rev":"xxxx"}

同时,CouchDB 会为新建用户创立一个 userdb- 为前缀的数据库,在上例中 jan 的数据库为 userdb-6a616e 。那么 jan 在 Moon FM 的同步地址为

http://jan:apple@[url]/userdb-6a616e

鲁公网安备 37010202001399号 鲁ICP备18034499号-1