Tailscale Docker反向代理443端口失败,Vaultwarden访问异常求助
问题:Vaultwarden + Tailscale Serve 端口配置异常
问题现象
- 运行仅监听80端口的Vaultwarden服务,未使用Tailscale JSON配置文件时,日志出现443端口连接拒绝错误:
2024/04/01 14:38:07 http: proxy error: dial tcp 127.0.0.1:443: connect: connection refused
- 尝试使用JSON配置文件时,tailscaled无法连接Tailscale服务器,因此改为进入容器手动执行命令
- 执行Tailscale Serve相关命令均出现异常:
tailscale serve https://localhost:443和tailscale serve --bg --https=443 127.0.0.1:443触发502错误tailscale serve --bg --tcp 443 tcp://127.0.0.1:443可建立SSL连接,但无内容返回
当前Docker Compose配置
services: vaultwarden: image: vaultwarden/server:latest depends_on: - vaultwarden-tailscale container_name: vaultwarden restart: unless-stopped volumes: - vw-data:/data:rw environment: #- ADMIN_TOKEN=${ADMIN_TOKEN} - WEBSOCKET_ENABLED=true - DOMAIN=${DOMAIN} network_mode: service:vaultwarden-tailscale vaultwarden-tailscale: image: tailscale/tailscale:latest container_name: vaultwarden-tailscale hostname: vaultwarden environment: - TS_AUTHKEY=tskey-auth-KEYFILE - TS_STATE_DIR=/var/lib/tailscale #- TS_SERVE_CONFIG=/config/vaultwarden.json volumes: - ${PWD}/vaultwarden-tailscale/state:/var/lib/tailscale - ${PWD}/vaultwarden-tailscale/config:/config - /dev/net/tun:/dev/net/tun cap_add: - net_admin - sys_module restart: unless-stopped networks: - vaultwarden-net volumes: vw-data: driver: local vaultwarden-tailscale: driver: local networks: vaultwarden-net: external: true
解决方案建议
- 修正端口映射逻辑:Vaultwarden默认监听80端口,Tailscale Serve需指向80而非443,执行以下命令:
该命令会让Tailscale在443端口提供HTTPS服务,并将请求转发至本地80端口的Vaultwarden。tailscale serve --bg --https=443 http://localhost:80 - 验证容器网络互通:由于两个容器共享网络栈,在tailscale容器内执行
curl localhost:80,确认能正常获取Vaultwarden的响应。 - 修复JSON配置文件:若要使用配置文件,确保内容正确指向80端口,示例配置:
同时确保配置文件权限正确,容器可读取,取消{ "HTTPS": { "443": { "Handler": "proxy", "Proxy": "http://localhost:80" } } }TS_SERVE_CONFIG的注释后重启容器。 - 检查Tailscale节点状态:在容器内执行
tailscale status,确认节点已正常接入Tailscale网络,排除认证或网络连接问题。
内容的提问来源于stack exchange,提问作者karadayi
相关产品推荐
相关产品推荐

