Hacker News new | ask | show | jobs
by dartos 635 days ago
I run many server programs on my homelab.

Each is running on a different port, but I want them all accessible publicly from different URLs and I only want to expose port 443 to the internet.

I also want to have TLS autorefresh for each domain.

I need a reverse proxy for the former and caddy does both.

If you’re running a single server and that server does TLS termination then you don’t really need a reverse proxy.

3 comments

Every page off of my (static HTML file!) home page[1] is actually a distinct microservice sitting behind a reverse proxy. I can throw some new experiment together, built it with whatever tooling I want, give it a port number, and let nginx route to it.

It removes a lot of friction from "I wonder if making this service is a good idea?" and because I am self hosting I am not tying myself down to any of the "all in one" hosting platforms.

[1] https://www.generativestorytelling.ai/

Microservice maximalism.
e.g. Virtual hosting as we called it in the Apache days
Virtual hosting is only similar in that it allows you to serve content based on the requested FQDN (or, indeed, destination port of the request).
You forgot the original need: share a single IPv4 among different services.

If going IPv6-only, the need for a reverse proxy is seriously lowered. You could spin multiple servers up (even on different machines), listening to 443. Have each service handle its certificate renewal, etc.

> You forgot the original need: share a single IPv4 among different services.

That "original need" is exactly what GP is talking about.

Right, indirectly (single port). I was spelling it out.