I have a few things that I host from my house. I have read that it’s better practice to route stuff through a VPS to not expose your home IP.

Here’s what I’ve done so far: VPN setup on VPS with successful routing of containers. Confirmed by using a CLI IP check within the container which returned the VPS IP. I used PiVPN because I know it and it’s easy to set up.

Where I got stuck: I pointed Nginx to the supposed IP:port of the connection, but couldn’t get it to load.

What should I do next?

  • 6️⃣9️⃣4️⃣2️⃣0️⃣@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    ·
    18 hours ago

    Assuming your local service is accessible from the nginx server, you can proxy the request to it:

    server {
      listen 80;
      location / {
        proxy_pass http://10.100.100.2:3000/;
      }
    }
    

    …where 10.100.100.2 is your local IP on the VPN and 3000 is the local port your service is listening on, and 80 is the public port your nginx server listens on. Everything that hits your nginx server at http://yourserver.com:80/ will proxy back to your local service at http://10.100.100.2:3000/. Depending on what you’re hosting, you may need to add some things to the config.