Vaultwarden+Traefik配置问题:HTTPS访问报Bad Gateway错误
排查Vaultwarden Traefik配置的Bad Gateway问题
以下是你的配置中存在的核心问题及修正方案:
问题点分析
- 路由名称不一致:配置中同时使用了
bw和vaultwarden作为路由名称,导致Traefik无法正确关联路由与服务,规则和服务配置混乱。 - 容器端口配置错误:Vaultwarden容器内部默认监听80端口,但你配置了暴露8081端口并让Traefik转发到8081,这和容器实际运行端口不匹配,是Bad Gateway的主要原因。
- HTTPS入口点缺失:你为HTTPS路由配置了证书解析器,但未指定HTTPS入口点(通常为
websecure),导致HTTPS请求无法匹配到正确路由。
修正后的配置
version: "3.8" services: vaultwarden: image: vaultwarden/server:latest container_name: vaultwarden restart: always environment: - LOG_LEVEL=debug - "SIGNUPS_ALLOWED=false" labels: - "traefik.enable=true" # HTTP路由:负责将请求重定向到HTTPS - "traefik.http.routers.bw-web.rule=Host(`vaultwarden.xxxxx.it`)" - "traefik.http.routers.bw-web.entrypoints=web" - "traefik.http.routers.bw-web.middlewares=redirect-to-https" # HTTPS路由:处理加密请求 - "traefik.http.routers.bw.rule=Host(`vaultwarden.xxxxx.it`)" - "traefik.http.routers.bw.entrypoints=websecure" - "traefik.http.routers.bw.tls.certresolver=myresolver" # 关联服务:指定容器内部正确的监听端口 - "traefik.http.services.bw.loadbalancer.server.port=80" volumes: - ./data/:/data expose: - "80" ports: - "81:80" networks: default: name: webproxy external: true
额外注意事项
- 确保Traefik已配置
websecure入口点(监听443端口),且myresolver证书解析器(如Let's Encrypt)配置正常。 - 确认Traefik容器同样加入了
webproxy外部网络,保证容器间通信畅通。 - 修改配置后,重启Traefik和Vaultwarden容器使配置生效。
内容的提问来源于stack exchange,提问作者rupi
相关产品推荐
相关产品推荐

