首页 > 系统相关 >私有化部署bitwarden密码管理器(三)——nginx方式部署

私有化部署bitwarden密码管理器(三)——nginx方式部署

时间:2024-06-11 23:21:48浏览次数:23  
标签:bitwarden 管理器 network rootCA 部署 server nginx vaultwarden docker

仅有IP无证书的环境部署bitwarden密码管理器

虽然使用npm方式部署比较简单,但是很多小伙伴可能没有一台带域名国外vps,接下来介绍仅有IP的Vps,如国内的服务器无域名证书或者是本地无外网的环境如:虚拟机、NAS、树莓派等环境部署bitwarden密码管理器。

部署Nginx

Nginx和Nginx Proxy Manager都是用于做反代作用的,不可共存
在服务器/usr/local/docker目录下新建nginx目录,在nginx目录下新建docker-compose.yml文件,内容如下:

version: '3'
services:
  nginx:
    image: nginx:stable-alpine-perl
    container_name: nginx
    restart: always
    ports:
      - 80:80
      - 443:443
      - 234:234
    volumes:
     - $PWD/nginx/html:/usr/share/nginx/html
     - $PWD/nginx/logs:/var/log/nginx
     - $PWD/nginx/conf.d:/etc/nginx/conf.d
     - $PWD/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
     - $PWD/nginx/ssl:/etc/nginx/ssl
    networks:
     - nginx_network  

networks:     #对上面使用到的网络名称进行声明
  nginx_network:  #网络名称前面会自带项目名称,(当前docker-compose.yml所在目录的名称),即项目名称_网络名称
    external: true  #如果不想加上项目名称,请设置external为true,这时就需要我们在启动服务之前,必须在外部使用命令去手动创建一个名叫nginx_network的网络(创建命令: docker network create -d bridge nginx_network)

在当前目录执行docker-compose up -d,服务器放行80,443的TCP端口

部署vaultwarden

在服务器/usr/local/docker目录下新建vaultwarden目录,在vaultwarden目录下新建docker-compose.yml文件,内容如下:

version: "3"

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: always
    ports:
        - "235:80" #将宿主机8087端口映射到docker的80端口
        - "3012:3012"
    volumes:
      - $PWD/vw-data:/data
    environment:
      WEBSOCKET_ENABLED: "true" #是否开启WebSocket
      SIGNUPS_ALLOWED: "false"   #是否开启注册,自用的话自己搭建好注册后改成false
      WEB_VAULT_ENABLED: "true" #是否开启Web客户端
      ADMIN_TOKEN: "{你生成的安全密码}"   #后台登陆密码,建议openssl rand -base64 48 生成ADMIN_TOKEN确保安全,当前是没启用,如需启用去掉ADMIN_TOKEN前面的 # ,并生成安全密码
    networks:
      - nginx_network  

networks:     #对上面使用到的网络名称进行声明
  nginx_network:  #网络名称前面会自带项目名称,(当前docker-compose.yml所在目录的名称),即项目名称_网络名称
    external: true  #如果不想加上项目名称,请设置external为true,这时就需要我们在启动服务之前,必须在外部使用命令去手动创建一个名叫nginx_network的网络(创建命令: docker network create -d bridge nginx_network)

在当前目录执行docker-compose up -d部署成功

生成自签证书

由于仅有ip,vaultwarden只支持https,所以需要生成自签证书

编写配置文件和脚本

把以下三个文件放到一个文件夹里:

server_rootCA.csr.cnf

[req]
default_bits = 2048
prompt = no
default_md = sha256
distinguished_name = dn

[dn]
C=CN
ST=A
L=A
O=A
OU=local_RootCA
emailAddress=.
CN = 192.168.1.129 #服务器ip或域名

v3.ext

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names

[alt_names]
IP = 192.168.1.129#服务器ip或域名

do.bat

openssl genrsa -out server_rootCA.key 2048
openssl req -x509 -new -nodes -key server_rootCA.key -sha256 -days 36500 -out server_rootCA.pem
openssl req -new -sha256 -nodes -out server.csr -newkey rsa:2048 -keyout server.key -config server_rootCA.csr.cnf
openssl x509 -req -in server.csr -CA server_rootCA.pem -CAkey server_rootCA.key -CAcreateserial -out server.crt -days 36500 -sha256 -extfile v3.ext

运行脚本,生成证书

1、运行 do.bat,会要求输入一次信息,这里就随便编一个虚假的机构名就可以了(比如 MiaoMiaoMiao),不用填 ip 地址或者域名啥的
2、生成的文件有 5 个,server.crtserver.key 这俩是要拿给 Bitwarden 用的,上传到$PWD/nginx/sslnginx的证书目录下
3、server\_rootCA.pem 复制到 Android 上,导入 CA 受信任的证书
4、server\_rootCA.pem 重命名为.cer,在 Windows 上,导入受信任的根证书颁发机构,这样等下配置好的 Bitwarden 就可以和客户端通信了

vaultwarden使用

官网地址:https://bitwarden.com/
vaultwarden在Windows,Linux,Mac,iPhone,Android以及Chrome等环境都可以正常使用,可以在官网下载相应环境的安装包就可以

1、浏览器插件使用,点击下载→[地址]
(https://microsoftedge.microsoft.com/addons/detail/jbkfoedolllekgbhcbcoahefnbanhhlh)
2、选择自托管,输入你的ip或者域名
image

3、成功界面
image

标签:bitwarden,管理器,network,rootCA,部署,server,nginx,vaultwarden,docker
From: https://www.cnblogs.com/axioslancer/p/18242999

相关文章

  • Centos7.9使用kubeadm部署K8S集群
    Centos7.9使用kubeadm部署K8S集群使用kubeadm部署一个k8s集群,单master+2worker节点。1.环境信息操作系统:CentOS7.9.2009内存:2GBCPU:2网络:能够互访,能够访问互联网hostnameip备注k8s-master192.168.0.51masterk8s-node1192.168.0.52workerk8s-node2192.168.0.53wor......
  • Centos7.9使用kubeadm部署K8S单机环境
    Centos7.9使用kubeadm部署K8S单机环境使用kubeadm部署一个k8s单机环境1.环境信息操作系统:CentOS7.9.2009内存:4GBCPU:2网络:能够互访,能够访问互联网hostnameip备注k8s192.168.0.159master+worker2.准备工作在所有节点(包括Master和Worker节......
  • 【机器学习】Qwen2大模型原理、训练及推理部署实战
    目录​​​​​​​一、引言二、模型简介2.1Qwen2 模型概述2.2Qwen2 模型架构三、训练与推理3.1Qwen2 模型训练3.2Qwen2 模型推理四、总结一、引言刚刚写完【机器学习】Qwen1.5-14B-Chat大模型训练与推理实战 ,阿里Qwen就推出了Qwen2,相较于Qwen1.5中0.5B......
  • 【Azure Spring Apps】Spring App部署上云遇见 502 Bad Gateway nginx
    问题描述在部署AzureSpringApp应用后,访问应用,遇见了502BadGatewayNginx。问题解答502BadGateway, 并且由Nginx返回。而自己的应用中,并没有定义Nginx相关内容,所以需要查看问题是否出现在AzureSpringApp服务的设置上。根据SpringApp的通信模型图判断,502的请求是由N......
  • 人大金仓kingbase部署&测试
    人大金仓KingBase安装&部署为了方便,我们这里使用docker方式进行kingbase部署,其中kingbase使用的版本为v8r6#1.下载docker镜像dockerpullwarm3snow/kingbase:v8r6#2.创建本地数据目录mkdir-p/opt/kingbase/data#3.启动kingbasedockerrun-d--namekingbasev......
  • Centos7.9使用kubeadm部署K8S集群
    Centos7.9使用kubeadm部署K8S集群使用kubeadm部署一个k8s集群,单master+2worker节点。1.环境信息操作系统:CentOS7.9.2009内存:2GBCPU:2网络:能够互访,能够访问互联网hostnameip备注k8s-master192.168.0.51masterk8s-node1192.168.0.52workerk8s-n......
  • 基于springboot+vue.js+uniapp小程序的社区团购系统附带文章源码部署视频讲解等
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaits系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......
  • DBAPI 安装部署standalone 数据API接口发布平台
    DBAPI项目地址:https://gitee.com/freakchicken/db-api项目简介:零代码开发api服务,只需编写sql,就可以生成httpapi服务。支持api动态创建,兼容多种数据库。适用于BI报表、数据可视化大屏的后端接口快速开发。旨在为企业数据服务的发布提供完整解决方案一、下载安装包 在浏览......
  • Tomcat部署及优化
    目录一、Tomcat 1、tomca简介2、tomcat核心组件 3、Servlet是什么4、什么是JSP 5、tomcat功能组件结构5.1、Container结构分析:5.2、tomcat的请求过程2、Tomcat部署(1)安装jdk1)系统初始化2)安装jdk (2)安装并启动Tomcat1)上传压缩包并解压 2)开启tomcat 3)关......
  • Tdengine的时序数据库简介、单机部署、操作语句及java应用
    Tdengine的时序数据库简介、单机部署、操作语句及java应用   本文介绍了Tdengine的功能特点、应用场景、超级表和子表等概念,讲述了Tdengine2.6.0.34的单机部署,并介绍了taos数据库的常见使用方法及特色窗口查询方法,最后介绍了在java中的应用。一、tdengine简要介绍及应......