Docker 连接到Cloudflare Argo隧道的Nginx代理管理器(Nginx反向代理)可以工作吗?

Docker 连接到Cloudflare Argo隧道的Nginx代理管理器(Nginx反向代理)可以工作吗?,docker,docker-compose,cloudflare,nginx-reverse-proxy,cloudflare-argo,Docker,Docker Compose,Cloudflare,Nginx Reverse Proxy,Cloudflare Argo,我有大约10个服务在Docker容器上运行。我想知道是否可以将运行在Docker容器中的Nginx代理管理器设置为连接到Cloudflare Argo作为主域。然后设置子域DNS记录,指向根目录,这样所有请求都会像通常设置的那样发送到Nginx代理管理器,并让Nginx代理管理器将请求路由到正确的请求服务。从本质上讲,可以将Nginx代理管理器或Nginx作为反向代理设置为与Cloudflare Argo隧道一起使用吗?我似乎无法正确设置和工作。您的问题不具体,因此我无法具体指出答案。 也许你可

我有大约10个服务在Docker容器上运行。我想知道是否可以将运行在Docker容器中的Nginx代理管理器设置为连接到Cloudflare Argo作为主域。然后设置子域DNS记录,指向根目录,这样所有请求都会像通常设置的那样发送到Nginx代理管理器,并让Nginx代理管理器将请求路由到正确的请求服务。从本质上讲,可以将Nginx代理管理器或Nginx作为反向代理设置为与Cloudflare Argo隧道一起使用吗?我似乎无法正确设置和工作。

您的问题不具体,因此我无法具体指出答案。 也许你可以在这里找到答案


我知道这个答案已经很晚了

对于其他阅读者:是的,正如哈卡尔所说,这是可能的,但需要大量的手工工作

您必须使用入口规则和DNS记录路由在服务器上设置argo隧道。对于在Nginx代理管理器中创建的每个代理服务器,argo隧道将需要一个与DNS路由匹配的已定义的入口规则

假设您熟悉通过cloudflared创建argo隧道,那么您的config.yml文件将类似于

tunnel: tunnel_id_generated_by_cloudflared
credentials-file: route_to_creds_file_generated_by_cloudflared
ingress:
 - hostname: subdomain.domain.xyz
   service: http://localhost:80
 - hostname: app1.domain.xyz
   service: http://localhost:1234
 - hostname: admin.domain.xyz
   service: http://localhost:81
 - service: http_status:404
你已经跑过的地方

cloudflared tunnel route dns <UUID or NAME> www.app.com
cloudflared tunnel路由dns www.app.com
(或在上配置)用于每个服务


如果您需要澄清,请回复,我会尽力帮助您。

我不熟悉您的特定堆栈,但您可以使用它来根据服务器名称代理上游。我没有使用Cloudflare Argo tunnel的经验,但我有一个使用Nginx server的VM,它根据请求的子域提供文件?这种情况对你有帮助吗?我所描述的都是通过HTTPS实现的。这是可能的,但需要大量的手工工作。而是使用GCP负载平衡器。它减少了很多努力。