保姆级免Nginx反代配置带SSL证书Bitwarden服务端

448次阅读
一条评论

共计 2319 个字符,预计需要花费 6 分钟才能阅读完成。

运行环境

  • Centos7
  • Docker version 20.10.3, build 48d30b5

闲言少叙

注意全程 root 用户操作,

安装 Docker,

$ curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

配置 docker 国内镜像并拉取 bitwardenrs 镜像,

$ mkdir -p /etc/docker/
$ echo "{\n'registry-mirrors': [\n'https://docker.mirrors.ustc.edu.cn'\n]\n}" > /etc/docker/daemon.json
$ systemctl daemon-reload
$ systemctl start docker
# 把 docker 加入开机自启
$ systemctl enable docker
# 拉取 bitwardenrs 镜像
$ docker pull bitwardenrs/server:latest

如果在你的服务器上配置了上述 docker 镜像后 docker pull 依然很慢,可以试试下面几个镜像源:

  • 网易 http://hub-mirror.c.163.com
  • ustc https://docker.mirrors.ustc.edu.cn
  • 中国科技大学 https://docker.mirrors.ustc.edu.cn

接着去你的域名托管商的 DNS 解析那里配置个二级域名,例如 https://fvjsdf.sharpgan.com,为了安全考量可以搞个随机的,再然后推荐去腾讯云撸个免费一年的亚洲诚信 SSL 证书(本站的 ssl 证书目前就是用的这个),这里我也就不赘述了,

关于证书类型选择,这里我测试使用 Nginx 的是 ok 的,下面以腾讯云的亚洲诚信为例说明哦,

~/Downloads/fvjsdf.sharpgan.com  tree
.
├── Apache
│   ├── 1_root_bundle.crt
│   ├── 2_fvjsdf.sharpgan.com.crt
│   └── 3_fvjsdf.sharpgan.com.key
├── IIS
│   ├── fvjsdf.sharpgan.com.pfx
│   └── keystorePass.txt
├── Nginx
│   ├── 1_fvjsdf.sharpgan.com_bundle.crt
│   └── 2_fvjsdf.sharpgan.com.key
├── Tomcat
│   ├── fvjsdf.sharpgan.com.jks
│   └── keystorePass.txt
└── fvjsdf.sharpgan.com.csr

4 directories, 10 files

紧接着我们把上述 Nginx/ 目录的两个证书 scp 到服务器上,具体细节不再赘述,然后我说说在服务器上要执行的命令,

$ mkdir -p /data/ssl/
$ mv 1_fvjsdf.sharpgan.com_bundle.crt /data/ssl/cert.crt && mv 2_fvjsdf.sharpgan.com.key /data/ssl/keys.key

在域名 DNS 解析,ssl 证书申请及上传和上述命令执行完后我们就可以来执行运行 docker 容器的命令了,如下,

$ docker run -d --name bitwarden \
  -e ROCKET_TLS='{certs="/ssl/cert.crt",key="/ssl/keys.key"}' \
  -e SIGNUPS_ALLOWED=true \
  -e DOMAIN='https://fvjsdf.sharpgan.com:33699' \
  -v /data/ssl/:/ssl/ \
  -v /data/bw-data/:/data/ \
  -p 33699:80 \
  bitwardenrs/server:latest

docker run 执行完后可以用 netstat -lnptu 命令看看相应的端口起来了没有,如果端口起来了,我们就可以进入 web 端 (上面的 -e DOMAIN 后面的 url 就是哦~) 建个账号了,tips:上述 33699 端口可以改成 443,如果你的国内服务器完成了备案的话,然后为了安全考虑你的账号建好后需要把允许注册给关掉,我们来执行下面的命令停掉 docker 容器再干掉它,然后启动一个不允许注册的容器,

$ docker ps
CONTAINER ID   IMAGE                       COMMAND       CREATED       STATUS                 PORTS                             NAMES
bf27dd7c5c8f   bitwardenrs/server:latest   "/start.sh"   2 hours ago   Up 2 hours (healthy)   3012/tcp, 0.0.0.0:33699->80/tcp   bitwarden
$ docker stop bf27dd7c5c8f
$ docker container rm bf27dd7c5c8f
$ docker run -d --name bitwarden \
  -e ROCKET_TLS='{certs="/ssl/cert.crt",key="/ssl/keys.key"}' \
  -e DOMAIN='https://fvjsdf.sharpgan.com:33699' \
  -v /data/ssl/:/ssl/ \
  -v /data/bw-data/:/data/ \
  -p 33699:80 \
  bitwardenrs/server:latest

至此你可以访问比如说上述的 https://fvjsdf.sharpgan.com:33699 的页面来导入数据了,然后各种客户端下载走起了,我是安卓,Mac 双修~(@^_^@)~

有啥疑问欢迎评论留言哈,每一条评论我都会收到邮件通知然后及时回复大家的。

正文完
 
sharp097
版权声明:本站原创文章,由 sharp097 2021-02-19发表,共计2319字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(一条评论)
Teddy 评论达人 LV.1
2021-03-06 06:32:53 回复

终于成功了

     未知