热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

搭建个人Bitwarden密码管理服务器

随着毕业设计的结束,我终于有时间更新我的博客了。这次,我将分享如何在自己的服务器上搭建Bitwarden,一个广受好评的开源密码管理工具。

随着毕业设计的顺利结束,我终于挤出了一些时间来更新我的博客。今天,我想分享的是如何在我的服务器上搭建 Bitwarden,这是一个非常受欢迎的开源密码管理器。虽然 Bitwarden 官方提供了免费版本,功能已经足够日常使用,但出于对数据安全的更高要求,我还是决定自行搭建服务器。

Bitwarden 官方提供了详细的部署指南,包括 Docker 镜像等,但这些方案往往占用较多系统资源。因此,我选择了更为轻量级的第三方实现——vaultwarden(前称为 bitwarden_rs)。

使用 Docker Compose 进行部署非常简便,这里分享一下我的 Compose 文件配置:

version: "3"
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: always
environment:
- LOG_FILE=/data/bitwarden.log
- WEBSOCKET_ENABLED=true
- TZ=Asia/Shanghai
- LC_ALL=zh_CN.UTF-8
volumes:
- /var/bitwarden/data/:/data/
ports:
- 8880:80
- 3012:3012

为了提高安全性,我还通过 Nginx 设置了反向代理,并启用了 SSL 加密。以下是 Nginx 的配置示例:

upstream vaultwarden-default { server 127.0.0.1:8880; }
upstream vaultwarden-ws { server 127.0.0.1:3012; }
server {
listen 80;
listen [::]:80;
server_name bitwarden.example.com;
error_log /var/log/nginx/error.log;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name bitwarden.example.com;
error_log /var/log/nginx/error.log;
ssl_certificate /path/to/your/certificate.crt;
ssl_certificate_key /path/to/your/private.key;
location / {
proxy_pass http://vaultwarden-default;
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://vaultwarden-ws;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location /notifications/hub/negotiate {
proxy_pass http://vaultwarden-default;
}
location /admin {
auth_basic "Administrator’s Area";
auth_basic_user_file /etc/nginx/.htpasswd;
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://vaultwarden-default;
}
}

在搭建过程中,我也遇到了一些小挑战。例如,在初次尝试创建账户时遇到了注册失败的问题。经过一番排查,我发现使用更复杂的密码可以解决这个问题。


推荐阅读
  • 本文介绍了如何在Ubuntu 16.04系统上配置Nginx服务器,以便能够通过网络访问存储在服务器上的图片资源。这解决了在网页开发中需要使用自定义在线图标的需求。 ... [详细]
  • Struts2(六) 用Struts完成客户列表显示
    Struts完成客户列表显示所用的基础知识在之前的随笔中已经讲过。这篇是介绍如何使用Struts完成客户列表显示。下面是完成的代码执行逻辑图:抽取项目部分代码相信大家 ... [详细]
  • 深入解析Apache SkyWalking CVE-2020-9483 SQL注入漏洞
    本文详细探讨了Apache SkyWalking中的SQL注入漏洞(CVE-2020-9483),特别是其影响范围、漏洞原因及修复方法。Apache SkyWalking是一款强大的应用性能管理工具,广泛应用于微服务架构中。然而,该漏洞使得未经授权的攻击者能够通过特定的GraphQL接口执行恶意SQL查询,从而获取敏感信息。 ... [详细]
  • Log4net是一款由Apache软件基金会开发的强大且灵活的日志记录工具,与Log4j同属一个系列。它支持多种日志记录方式,并能显著提升软件开发的效率。本文将详细介绍如何在ASP.NET Web Forms项目中集成Log4net。 ... [详细]
  • python爬虫Demo
    1爬虫功能:爬取某域名下所有网页,比如爬取python文档 https:docs.python.orgzh-cn3 ,爬取之后, ... [详细]
  • 近期,公司在构建新的交易系统时遇到了一个常见的问题——金额存储。由于涉及资金的操作需要高度的准确性,使用float类型进行金额计算可能会导致不可预见的误差。本文将深入探讨这一问题,并提供解决方案。 ... [详细]
  • 本文探讨了在Git子模块目录中运行pre-commit时遇到的错误,并提供了一种通过Docker环境解决此问题的方法。 ... [详细]
  • 如何使用 `org.apache.tomcat.websocket.server.WsServerContainer.findMapping()` 方法及其代码示例解析 ... [详细]
  • 本文探讨了在支付项目开发中使用SS5 Socket Server实现内部网络访问外部网络的技术方案。详细介绍了SS5的安装、配置及性能测试过程,旨在为面临相同需求的技术人员提供参考。 ... [详细]
  • 深入理解任意分频技术及其在FPGA中的应用
    本文探讨了FPGA中任意分频的重要性,特别是其在高频精确控制中的应用。文章不仅介绍了传统的分频方法,还详细阐述了一种基于DDS(直接数字合成)相位累加器的高精度任意分频技术,旨在为工程师和爱好者提供一种新的思路。 ... [详细]
  • 一、搭建项目创建Maven项目导入rabbitmq包com.rabbitmqamqp-clien ... [详细]
  • 深入解析JavaScript中的require与import差异
    本文深入探讨了JavaScript中require与import的主要区别,并通过实际案例详细说明了它们的工作原理及应用场景,对于开发者理解和使用这两种模块加载方式具有重要指导意义。 ... [详细]
  • spring boot使用jetty无法启动 ... [详细]
  • 本文探讨了 Java 中 HttpClient 和 HtmlUnit 的区别,重点介绍了它们的功能和应用场景。 ... [详细]
  • 在处理 XML 数据时,如果需要解析 `` 标签的内容,可以采用 Pull 解析方法。Pull 解析是一种高效的 XML 解析方式,适用于流式数据处理。具体实现中,可以通过 Java 的 `XmlPullParser` 或其他类似的库来逐步读取和解析 XML 文档中的 `` 元素。这样不仅能够提高解析效率,还能减少内存占用。本文将详细介绍如何使用 Pull 解析方法来提取 `` 标签的内容,并提供一个示例代码,帮助开发者快速解决问题。 ... [详细]
author-avatar
_i逗比_985
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有