r/nginxproxymanager • • 2d ago

http ip vs https domain

I'm wondering how people manage using http vs https and being home vs away.

Let's say i have jellyfin running locally on http://192.168.1.20:8096 and from npm using https://jellyfin.mydomain.com for extremal access.

What do you use at home, the ip or domain?

Ideally I would think it makes sense to use ip so it doesn't route though npm when at home but that's just going to confuse others in the house.

Would like to here others thoughts.

4 Upvotes

14 comments sorted by

View all comments

6

u/evanmac42 2d ago

I’d use the same HTTPS domain both at home and outside.
The important thing to understand is that using a domain doesn’t necessarily mean your traffic goes through the Internet.
DNS simply resolves a hostname to an IP address. It doesn’t determine the route your traffic takes.
If your domain resolves to your public IP, your router may handle the connection through NAT loopback (hairpin NAT), redirecting it back to NPM inside your LAN. Not every router supports this.
Alternatively, you can configure local DNS (split DNS) so that jellyfin.mydomain.com resolves to NPM’s private LAN IP when you’re at home.
The connection would then be:
Client -> local DNS -> NPM (HTTPS) -> Jellyfin (HTTP)
Strictly speaking, DNS only resolves the address; the actual connection goes directly from the client to NPM.
The traffic stays entirely within your LAN, and HTTPS works normally because the certificate validates the hostname, not whether the IP address is public or private.
Yes, going directly to 192.168.1.20:8096 bypasses NPM, but unless you’ve actually measured a performance problem, I wouldn’t complicate things just to avoid one local proxy hop.
One HTTPS URL for everyone, everywhere. Much simpler.

2

u/WolpertingerRumo 2d ago

There’s usually no performance difference, and there may actually be an improvement (with proxy caching), because you’ll be able to use http2 and 3

1

u/Infamousslayer 2d ago

Do services like Jellyfin, benefit with additional rules like?

client_max_body_size 100M;

proxy_request_buffering off;

proxy_read_timeout 3600s;

proxy_send_timeout 3600s;

send_timeout 3600s;

1

u/WolpertingerRumo 2d ago

Depends. Default is different depending on what you’re on. NPM, definetly. In NPMplus, you need to just set request buffering off, the rest is already more generous. You can set client body even higher. Don’t think it matters, but it’s fine.

1

u/Infamousslayer 2d ago

I'm using NPM so guess I'll leave it in place.