I followed this tutorial to setup NGINX Proxy Manager for my home lab. It’s setup to only be accessible from within my network.
I have done the following:
- Purchased domain name from NameCheap
- Set the Nameservers in NameCheap to direct to my 2 Cloudflare Nameservers
- Set A and CNAME records in Cloudflare
- Configured SSL Certificate in Nginx Proxy Manager
- Added a Proxy Host
Here is my issue: when trying to go to [myDomain.com]; I get an error saying that it can’t be reached.
I’m running this via Docker on a Synology. I also run a pfSense firewall.
My docker container is using the ‘bridge’ network, which all of the other containers I’m running are using. None of the Docker containers can be reached if I set the Destination in NPM to my host’s IP address, or the Docker container name.
Any advice? I’m not sure where I went wrong here.
You have to set the docker container name as the destination, not the host IP.
Test everything from the beginning.
# check your FQDN is set up correctly.
$ nslookup 1.1.1.1
$ nslookup 8.8.8.8
# Test your web host from out of the docker host.
$ curl -v http://your_fqdn
# test your web host on the host machine.
$ curl -v -H “Host: your_fqdn” http://localhost
# check if your port is exposed if you map it.
docker ps | grep
# check if your mapped port is listening on the docker host
netstat -tlnp | grep
#check if your container is reachable by NPM.
docker exec -it bash
[root@docker-278f29455e29:/app]# apt update && apt install netcat
[root@docker-278f29455e29:/app]# nc -zv
if NPM reaches docker, you’re OK.
There are many things you have to check more, for example, NPM and your destination container should be in the same docker network.
# docker inspect | grep NetworkID
# docker inspect | grep NetworkID
They should be equal.
etc. etc.