type
status
date
slug
summary
tags
category
icon
password

服务搭建

Video preview
 
在视频的基础上我使用的是自己的根域名,然后在跟域名的基础上建立了一个专门给bitwarden的二级域名二级域名.一级域名.com
然后通过cloudflare将其映射到nas的公网ip
之后在DMS的Login Portal中添加反向代理,让DSM的端口号映射到bitwarden的容器外部端口号
这样就可以使用二级域名域名二级域名.一级域名.com:DSM的端口号 来访问bitwarden的web页面了
notion image
其中80端口是容器内部web服务的端口, 16538是容器暴露给外部的端口。
在nas上有反向代理把16527映射到16538上

反向代理和端口转发

通过端口转发实现访问内网的服务需要服务本身监听0.0.0.0,这个操作是在网络层实现的,不涉及任务软件
通过反向代理访问内网服务是在应用层实现的,内网服务只需要监听localhost,需要通过反向代理软件实现
如果已经添加了反向代理,端口转发到与反向代理相同的端口会有冲突,例如如果在路由器上直接设置转发到路由器的16538会无法访问
反向代理的好处是能隐藏真实服务的端口号并且提供一个缓冲。因此对于web服务最好还是使用反向代理
 
notion image
添加https://二级域名.一级域名.com:443 将外部的443转发到nas的vaultwarden端口,使用443是https的默认端口可以直接通过域名访问。使用默认的443并不会带来安全问题,因为https通信过程是加密的,即使别人知道你在用443端口,如果安全配置到位,仍然可以避免安全隐患。
 
同时需要在路由器上添加443的端口转发到nas的443,因为域名是绑定到nas的公网IP的,需要将公网上443的端口转发到内网nas的443上。

反向代理实现域名访问不同服务

因为路由器上只能转发一个443端口,如果想要通过默认的443端口直接访问内网不同设备上的服务,可以将所有的443都转发到一个nginx服务器上,然后根据源地址转发到对应的目的地址,例如
Internet │ 公网IP:443 │ [ 路由器:443 → 192.168.1.100(反向代理服务器) ] │ ┌───────────────────────────────┐ │ 反向代理服务器(Nginx) │ │ │ │ mynas.example.com → NAS │→ 192.168.1.101:5000 │ jellyfin.example.com → 播放器 │→ 192.168.1.102:8096 │ ha.example.com → HomeAssistant│→ 192.168.1.103:8123 └───────────────────────────────┘

版本升级

升级vault的版本只需要将当前运行的容器删除,下载新的镜像启动一个新的容器即可
注意需要挂载/data目录以及启动的时候需要加上admin_token参数,admin页面/admin才能正常访问
 

配置命令行+alfred workflow

下载alfred bitwarden workflow
选在bitwarden的原因其中之一就是因为工作中经常需要在非web的情况下复制粘贴密码,bitwarden没有像1password那样的快捷键搜索,可以通过命令行结合alfred的方式达到类似的效果