用途
该技能面向使用 Docker 部署 Web 应用并需要 HTTPS 支持的场景,整合了 Nginx HTTPS 配置与 Cloudflare Tunnel,用于将外部域名安全地连接到本地运行的容器。
主要能力
- 配置带 SSL 证书的 Nginx(参考 nginx-https.md)
- 设置 docker-compose.yml 并挂载证书卷
- 配置 Cloudflare Tunnel,将外部域名连接到本地容器
- 提供 Cloudflare Origin 证书相关说明(cf-origin-cert.md)
- 提供 Docker 数据持久化说明(data-persistence.md)
- 提供 Cloudflare Tunnel 设置说明(cf-tunnel.md)
使用方式
快速上手流程:
- 配置 Nginx 与 SSL 证书(见 nginx-https.md)
- 设置 docker-compose.yml,挂载证书卷
- 配置 Cloudflare Tunnel,将外部域名连接到本地容器
常见任务与对应参考文档:
| 任务 | 参考 |
|---|---|
| Nginx HTTPS 配置 | nginx-https.md |
| Cloudflare Origin 证书 | cf-origin-cert.md |
| Docker 数据持久化 | data-persistence.md |
| Cloudflare Tunnel 设置 | cf-tunnel.md |
架构概览
互联网 → Cloudflare 边缘(HTTPS)→ Cloudflare Tunnel → Ubuntu/Docker(Nginx)
核心原则
- 持久化数据始终使用命名 Docker 卷
- 生产环境中 Nginx 应将 HTTP(80) 重定向到 HTTPS(443)
- Cloudflare Origin 证书仅用于 Cloudflare 到源站的加密
- Tunnel 可连接 HTTP 或 HTTPS,需根据 Nginx 配置决定
故障排查
启用 Cloudflare 强制 HTTPS 后 HTTPS 不工作:
- 检查 Nginx 是否监听 443 端口
- 确认 SSL 证书已正确挂载
- 确保 Cloudflare Tunnel 服务 URL 匹配(http:// 或 https://)
容器重启后数据丢失:
- 检查 docker-compose.yml 是否对关键数据使用命名卷而非绑定挂载
- 确认数据库路径指向已挂载的卷目录
详细解决方案请参见各参考文件。
适用场景
适用于需要通过 Docker 部署 Web 应用、并借助 Nginx 与 Cloudflare Tunnel 实现 HTTPS 访问与外部域名连接的场景。
限制
资料未提供具体安装命令、代码示例、收费或价格信息,相关细节暂未提供。