使用 Cloudflare Tunnel 根据端口匹配流量

使用 Cloudflare Tunnel 根据端口匹配流量

我目前正在设置 Cloudflare 隧道进行测试。我的原始服务器上有一个可用的隧道设置,该服务器运行 nginx 作为反向代理,并有多个主机名,每个主机名分别在端口 443 和 2096 上运行 2 个不同的服务。即:

a.example.com:443
a.example.com:2096
b.example.com:443
b.example.com:2096 

根据主机名匹配流量效果很好,但我现在无法正确区分基于这两个端口的流量。也就是说,当我访问时,https://a.example.com:2096我也会被重定向到在端口 443 上运行的服务。

我的 cloudflared config.yaml 文件中的入口规则现在如下所示:

ingress:

  - hostname: a.example.com
    service: https://localhost:443
    originRequest:
      originServerName: a.example.com
  - hostname: a.example.com
    service: https://localhost:2096
    originRequest:
      originServerName: a.example.com
  - service: http_status:404

我省略了 nginx 配置,因为当仅将 A 记录指向原始服务器的 IP 并通过 cloudflare 代理流量时,它现在工作正常。

有人能给我指点一下如何让它正常工作吗?TIA!

相关内容