1.4 KiB
1.4 KiB
Reverse Proxy Setup
My setup for exposing my home server to the internet without Port Forwarding.
Tailscale
I use Tailscale to connect my home server with the docker in the VPS. This way I don't need to open ports in order to connect this two endpoints.
nginx
I use nginx to route my VPS traffic to the various services I have inside my home server.
DNS Setup
First, I create an A record pointing to my server, this A record could be used for a specific service, but there I just serve the default nginx page:
vps.gerardgascon.com. IN A 146.190.236.48
All subsequent domains I want to point to a home server service will have a CNAME pointing to that base A record:
git.gerardgascon.com. IN CNAME vps.gerardgascon.com.
Steps to add a new service
- Add CNAME record to DNS
- Modify nginx.conf to add support for the new service:
server { listen 443 ssl; server_name <<url>>; ssl_certificate /etc/letsencrypt/live/<<url>>/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/<<url>>/privkey.pem; location / { proxy_pass http://<<tailnet_ip>>:<<service_port>>/; } }
- Request SSL certificate and deploy:
docker compose stop nginx && certbot certonly --standalone -d <<url>> --expand && docker compose up -d