You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Docker容器使用80以外的端口?自托管Bitwarden部署端口冲突咨询

问题原因

你只修改了Bitwarden主Web服务的端口映射,没有调整内置Certbot证书申请容器的默认端口绑定,该容器默认需要占用宿主机80端口完成HTTP01证书挑战,所以即使修改了Web服务端口仍然会报80端口占用错误。
另外如果直接修改临时生成的docker-compose.yml文件,运行官方脚本时配置会被默认覆盖,不会永久生效。

推荐解决方案(不影响现有Nginx站点)

  • 先停止所有Bitwarden相关容器:
    ./bitwarden.sh stop
  • 进入Bitwarden安装目录,打开bwdata/config.yml文件,修改以下配置项:
    • http_port改为你需要的宿主机端口,比如5000
    • https_port改为比如5001
    • ssl设置为false,关闭内置SSL功能
    • generate_ssl_certs设置为false,关闭内置Certbot自动申请证书逻辑
  • 重新生成Bitwarden的Docker配置:
    ./bitwarden.sh rebuild
  • 启动Bitwarden服务:
    ./bitwarden.sh start
  • 到现有Nginx中添加Bitwarden站点配置,反向代理到本地127.0.0.1:5000,使用你自行申请的SSL证书即可正常访问。

其他可选方案

如果不需要自动续期证书,也可以直接在bwdata/docker/docker-compose.yml中注释掉整个certbot服务段,再启动服务就不会占用80端口。但该方式后续证书到期需要手动替换,维护成本更高。

内容的提问来源于stack exchange,提问作者PinPiguin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 02:30:05