如何在 cloudflare 中为我的 azure 容器添加一个需要端口号才能访问的子域

How to add a subdomain in cloudflare for my azure container which requires a port number to access it

我的 Azure 容器上有一个元数据库 docker 图像 运行。可以通过azure的fqdn:port_number(端口为3000)或者ip:port_number访问。我想通过 cloudflare() 为这个应用程序提供一个很好的域名。我该怎么做? 提前致谢!

PS:cloudflare 社区中有一些关于此的主题,但我找不到任何与我相关的答案。

您可以将 CNAME 记录添加到指向子域(例如 www.example.com)到您的 Azure 容器的 FQDN 值,例如 containerdns.westus.azurecontainer.io

CNAME 记录示例:

name: www    
record type: CNAME    
value:  FQDN value of your Azure container
TTL: 32600

参考:https://www.cloudflare.com/learning/dns/dns-records/dns-cname-record/ https://support.cloudflare.com/hc/en-us/articles/360019093151-

更新

根据您的评论,您想访问实际上指向 fqdn:portmyapp.com。在这种情况下,您可以使用 Azure 门户创建和配置应用程序网关以托管具有自定义端口的网站。如果您有多个站点,可以按照 this 教程进行操作。

您可以按照以下步骤操作:

  1. 在与您的容器实例相同的区域中创建一个具有 public IP 地址的 public-facing 应用程序网关。
  2. 使用容器 FQDN 的目标主机名创建后端池,例如 containerdns.westus.azurecontainer.io
  3. 创建基本侦听器并提供名称、前端端口 80 和协议 HTTP。
  4. 创建健康探测,提供协议 HTTP,勾选复选框 Pick host name from backend http settings,其余设置为默认设置。
  5. 根据需要添加自定义端口 3000 的 HTTP-settings 并选中复选框 Pick host name from backend address 并使用自定义探测和 select 自定义探测.
  6. 使用后端池和 HTTP 设置创建基本规则。
  7. 最后,您可以创建一个 CNAME 记录,将子域 www.myapp.com 映射到您的应用程序网关的 FQDN。

我在我的 Azure VM 网站上对此进行了验证,希望这对您有所帮助。