I have about 10 or so services running on Docker containers. I am wondering if it would be possible to setup Nginx-Proxy-Manager running in a Docker container connecting to Cloudflare Argo as the main domain, https://example.com. Then setup subdomain DNS records, pointing to the root, so all requests are sent to Nginx-Proxy-Manager, as it would normally be setup, and have Nginx-Proxy-Manager route the request to the proper requested service. Essentially, can Nginx-Proxy-Manager OR NGINX as a reverse proxy be setup to work with a Cloudflare Argo Tunnel? I can't seem to get this properly setup and working.
Asked
Active
Viewed 4,038 times
3
-
I'm not familiar with your specific stack but you can use [`ssl_preread`](http://nginx.org/en/docs/stream/ngx_stream_ssl_preread_module.html) to proxy to an upstream based on server name. – masseyb Oct 04 '20 at 09:46
-
I don't have experience working with Cloudflare Argo tunnel but I have a VM with Nginx server which serves files based on which subdomain was requested? Will that scenario help you out? What I described happens over HTTPS for me. – Anwesh Mohapatra Oct 08 '20 at 13:41
-
its posiible but there ll be a lot of manual work. instead use GCP load balancer. it reduces so much efforts. – Harkal Oct 10 '20 at 22:13
2 Answers
2
I'm aware this answer is very late...
For anyone else reading: Yes, as Harkal says, it is possible but requires a lot of manual work.
You will have to set up an argo tunnel on your server with ingress rules and DNS record routing. For each proxy server made in Nginx Proxy Manager, the argo tunnel will require a defined ingress rule that matches the DNS route.
Assuming you are somewhat familar with creating argo tunnels by cloudflared, your config.yml file will look somewhat like
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
where you have already ran
cloudflared tunnel route dns <UUID or NAME> www.app.com
(or configured on www.cloudflare.com) for each service
Please, if you need clarification, reply and I will do my best to help you.

Louis Segal
- 21
- 2
0
your question is not specific so i cant specificly point out the answer. Maybe you can find your answers here

ABHISHEK T S
- 1
- 1