跳至主要内容 跳至导航 跳至页脚
限时:设计合作伙伴计划,BUSINESS 套餐永久免费

网络与域名

通过域名、自动 TLS 和 Traefik 反向代理让你的应用在互联网上可访问。

网络与域名

你的应用正在运行,但目前还没有人能访问到它。本教程将帮你配置真实域名、通过 Let’s Encrypt 实现自动 TLS,以及部署能自动发现容器的 Traefik 代理。你需要在 Cloudflare 上托管一个域名和一个 API 令牌。

观看教程

四个步骤

获取令牌、配置、推送、部署

  1. 获取 Cloudflare API 令牌。
  2. rdc配置基础设施。
  3. 将配置推送到服务器。
  4. 部署代理。

第一步:Cloudflare API 令牌

在 Cloudflare 控制台,进入 My Profile → API Tokens,创建一个具有 Zone DNS Edit 权限的令牌。复制令牌值,它只会显示一次。

第二步:配置基础设施

告诉 rdc 你的公网 IP、根域名、证书邮箱和令牌。--cert-email--cf-dns-token 在你所有机器间共享,因此只需设置一次。

rdc config infra set -m <machine-name> --public-ipv4 <server-ip> --base-domain <base-domain> --cert-email <cert-email> --cf-dns-token <cf-dns-token>

从命令行设置公网 IP、基础域名、证书邮箱和 Cloudflare API token。证书邮箱和 token 在所有机器间共享,因此只需设置一次。

rdc config infra show -m <machine-name>

确认基础设施配置已保存。公网 IP、基础域名和证书邮箱应全部可见。

第三步:推送到服务器

rdc config infra push -m <machine-name>

将配置推送到服务器。这将自动在 Cloudflare 上创建 DNS 记录,并准备好代理配置。

这会自动在 Cloudflare 上创建 DNS 记录,并在服务器上准备代理配置。

第四步:部署代理

代理本身还没有运行。使用内置的 proxy 模板,在一个名为 infra 的小仓库中部署它:

rdc repo create --name infra -m <machine-name> --size 1G

创建一个名为 infra 的小型 repo。这是代理的存放位置,与应用 repo 隔离。

rdc repo template apply --name single-service -m <machine-name> --repository infra

让我们应用内置的 proxy 模板。它包含 Traefik 以及 Let's Encrypt 和 Cloudflare DNS-01 验证的完整配置,开箱即用。

rdc repo up --name infra -m <machine-name>

启动代理。Traefik 会自动发现你的 container,TLS 证书由 Let's Encrypt 自动颁发。你的应用现在可以通过 HTTPS 在互联网上访问。

完成。Traefik 现在正在运行。你的应用可以通过以下地址访问:

myapp.my-app.my-server.yourdomain.com

Traefik 每 5 秒自动发现你的容器,TLS 证书由 Let’s Encrypt 自动颁发。无需手动配置代理。


下一篇:生产模式