TGViewer
开发者工具箱|编程·开发工具·资源 开发者工具箱|编程·开发工具·资源 @devtoolboxhub · 780 subscribers
Post #1656 13
一键 Docker 反向代理:nginx‑proxy + acme‑companion

在同一服务器上运行多个服务时,传统做法是每个服务都自行配置 Web 服务器和 SSL,维护成本高且易出错。使用 jwilder/nginx-proxy 可以让 Nginx 自动读取 Docker socket,根据容器的标签和环境变量生成路由配置,新增或下线服务时无需手动编辑 nginx.conf。再配合 nginxproxy/acme-companion,让 Let’s Encrypt 证书自动申请与续期,实现全站 HTTPS。

部署步骤概览:
1. 创建外部网络 webproxy,所有需要被代理的容器加入该网络。
2. 使用 Docker Compose 启动 nginx-proxy(暴露 80/443)和 acme-companion(共享证书卷),并挂载 Docker socket 与自定义 vhost 目录。
3. 为每个业务容器添加 VIRTUAL_HOST、VIRTUAL_PORT、LETSENCRYPT_HOST、LETSENCRYPT_EMAIL 环境变量,即可自动获得域名路由和 SSL。
4. 如需特殊规则(IP 白名单、额外 Header),在 /srv/nginx-vhosts/<domain> 放置自定义片段,nginx‑proxy 会自动加载。

这样,所有服务只需加入同一网络并声明域名,即可获得统一入口、自动 HTTPS 与可扩展的自定义 Nginx 配置,省去手动维护的繁琐。


nginxproxy/nginx-proxy
nginxproxy/acme-companion

#开发者 #工具 #nginxproxy #Docker #HTTPS #LetsEncrypt
@DevToolboxHub
More from @devtoolboxhub
  1. Sep 26, 2026五仓库架构踩坑:Gitlink 与双 CI Flude 团队复盘了多仓库架构的实践代价。项目从第一分钟起就选择拆分成独立仓库,Pipeline、engine、design-docs…
  2. Sep 26, 2026Xeno Core:TypeScript 后端架构框架 Node.js 复杂系统的架构选型往往决定代码的长期命运。开发者常在两条路之间纠结:要么依赖重度使用实验性装饰器和反射(如…
  3. Sep 25, 2026用 SLO 给 AI Agent 的行为定个预算 Grafana Labs 提出把可靠性工程里的错误预算(error budget)思路用到 AI Agent 上。延迟、token…
  4. Sep 25, 2026Xcode 27.2 改用 JSON 项目格式 Xcode 27.2 用基于 JSON 的 project.xcproj 取代了沿用多年的 project.pbxproj。新建项目…
  5. Sep 25, 2026PostgreSQL 的 max_prepared_transactions 该不该开 prepared transaction 是脱离会话独立存在的两阶段提交事务。执行 PREP…
  6. Sep 24, 2026RPI 实战:用 Claude Code 子代理拆分研发流程 一个约十几个产品的小团队(helpdesk、MES、邮件托管、高校 AI 助手)在 monorepo 里日常使用 Cl…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →