Docker Compose部署Vaultwarden+Nginx遇Bad Gateway错误求助
解决Vaultwarden + Nginx Docker部署的连接拒绝问题
核心问题原因
Nginx配置里的upstream指向了127.0.0.1:8080,但在Nginx容器内部,127.0.0.1代表容器自身,而非宿主机或Vaultwarden容器。Docker Compose默认会为所有服务创建独立的内部网络,服务之间需要通过服务名+容器内部端口通信,而非宿主机映射的端口。
具体修复步骤
1. 修改Nginx的default.conf配置
将两个upstream块的地址替换为Vaultwarden的服务名和容器内部端口:
upstream vaultwarden-default { zone vaultwarden-default 64k; server bitwarden:80; # 替换原127.0.0.1:8080,bitwarden是docker-compose里的服务名,容器内部监听80端口 keepalive 2; } upstream vaultwarden-ws { zone vaultwarden-ws 64k; server bitwarden:3012; # 替换原127.0.0.1:3012 keepalive 2; }
2. 重启Docker容器
执行命令重启所有服务,让配置生效:
docker-compose down && docker-compose up -d
额外检查项
- 确认Vaultwarden容器正常启动:执行
docker logs vaultwarden查看日志,确保没有启动失败的报错 - 验证容器网络连通性:进入Nginx容器执行
ping bitwarden,确认能解析到Vaultwarden容器的IP
内容的提问来源于stack exchange,提问作者mtallon
相关产品推荐
相关产品推荐

