• Bitwarden_rs搭建


    最近LastPass网络极其不稳定,正好闲下来找到了Bitwarden_rs这个替代品,感觉不错,分享记录下部署过程。

    一、Docker方式部署

    #获取镜像
    docker pull bitwardenrs/server:latest
    #生成管理员Token
    openssl rand -base64 48
    #运行镜像,映射到本地/data/bw-data/目录,端口映射为3001
    docker run -d --name bitwarden   -e ADMIN_TOKEN=生成的Token -v /data/bw-data/:/data/   -p 3001:80   bitwardenrs/server:latest
    

    二、Bitwarden_rs配置文件config.json

    相应的参数去github的bitwarden_rs wiki查看

    {
      "domain": "https://bitwarden.test.com",
      "disable_icon_download": false,
      "signups_allowed": true,
      "signups_verify": false,
      "signups_verify_resend_time": 3600,
      "signups_verify_resend_limit": 6,
      "invitations_allowed": true,
      "password_iterations": 100000,
      "show_password_hint": true,
      "admin_token": "生成的Token",
      "invitation_org_name": "Bitwarden_RS-By Test",
      "ip_header": "X-Real-IP",
      "icon_cache_ttl": 2592000,
      "icon_cache_negttl": 259200,
      "icon_download_timeout": 10,
      "icon_blacklist_non_global_ips": true,
      "disable_2fa_remember": false,
      "authenticator_disable_time_drift": false,
      "require_device_email": false,
      "reload_templates": false,
      "disable_admin_token": false,
      "_enable_yubico": true,
      "_enable_duo": false,
      "_enable_smtp": true,
      "smtp_host": "smtp.163.com",
      "smtp_ssl": true,
      "smtp_explicit_tls": true,
      "smtp_port": 465,
      "smtp_from": "test@163.com",
      "smtp_from_name": "Bitwarden_RS",
      "smtp_username": "test@163.com",
      "smtp_password": "testpassword",
      "smtp_timeout": 30,
      "_enable_email_2fa": false,
      "email_token_size": 6,
      "email_expiration_time": 600,
      "email_attempts_limit": 3
    }
    

    三、Nginx代理配置

    要使用https才能登录,替换里面证书和域名IP为你自己的,看好证书路径对应上。

    server {
    	listen 80;
    	#填写绑定证书的域名
    	server_name bitwarden.test.com; 
    	#把http的域名请求转成https
    	return 301 https://$host$request_uri; 
    }
    
    server {
      listen 443 ssl http2;
      server_name bitwarden.*;
      
      # Specify SSL config if using a shared one.
      #include conf.d/ssl/ssl.conf;
      #证书文件名称
      ssl_certificate  conf.d/ssl/1_bitwarden.test.com_bundle.crt; 
      #私钥文件名称
      ssl_certificate_key conf.d/ssl/2_bitwarden.test.com.key; 
      ssl_session_timeout 5m;
      ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
      ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
      ssl_prefer_server_ciphers on;
      
      # Allow large attachments
      client_max_body_size 128M;
    
      location / {
        proxy_pass http://IP:3001;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
      }
      
      location /notifications/hub {
        proxy_pass http://IP:3012;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
      }
      
      location /notifications/hub/negotiate {
        proxy_pass http://IP:3001;
      }
    
      # Optionally add extra authentication besides the AUTH_TOKEN
      # If you don't want this, leave this part out
      location /admin {
        # See: https://docs.nginx.com/nginx/admin-guide/security-controls/configuring-http-basic-authentication/
        #auth_basic "Private";
        #auth_basic_user_file /path/to/htpasswd_file;
    
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    
        proxy_pass http://IP:3001;
      }
    
    }
    
    

    四、使用

    上述操作完成后访问https://bitwarden.test.com/admin进行管理员操作,要输入设置的Token。
    去https://bitwarden.com/官网下载相关客户端和浏览器拓展使用。

  • 相关阅读:
    QtDBus快速入门
    论Qt容器与STL
    JS中的!=、== 、!==、===的用法和区别
    JS操作JSON总结
    select2使用方法总结
    Entity Framework插入数据报错:Validation failed for one or more entities. See 'EntityValidationErrors' property for more details.
    Windows登录类型及安全日志解析
    <script type="text/html"></script> js模版使用
    在 C# 中,(int) ,Int32.Parse() 和 Convert.toInt32() 三种方法的区别
    关于session,cookie,Cache
  • 原文地址:https://www.cnblogs.com/bfbz/p/13025077.html
Copyright © 2020-2023  润新知