Which reverse proxy do you use/recommend?
-
I've been using NPM for a few years now and can't recommend it enough. I use it to route to both docker containers on an internal proxy network as well at other services within my networks
-
I mean, the basic config file for Caddy is 1 line, and gives you Let's Encrypt by default. The entire config file for a reverse proxy can be as few as 3 lines:
my.servername.net { reverse_proxy 127.0.0.1:1234 }
It's a single executable, and a single 3-line file. Caddy is an incredible piece of software.
-
I use traefik. I like it. Took a bit to understand, but it has some cool options like ssl passthrough and middlewares for basic auth.
-
I've been using nginx forever. It works, I can do almost everything I want, even if more complex things sometimes require some contortions. I'm not sure I would pick it again if starting from scratch, but I have no problems that are worth switching for.
-
I like Zoraxy it has a lot of features, like Zerotier integration, status monitoring etc and a clean UI
Runs fine for my needs and fully replaced NPM for me
You can run it in docker or as a single binary directly
-
I mean yes, that seems obvious now that I've learned this.
But I wish I read this comment 3 years ago when I was starting to dive into self hosting. Would have saved me a bunch of time. So always assume some piece of knowledge is not obvious for someone out there and share α( α )α
-
I use Traefik at home. The initial setup was more complex than others but now it's set up it's by far the easiest to add new routes than any other I've tried, just by virtue of being right there in the compose/k8s files I'm already writing. Static routes are manual annoyingly, but so are every other proxy so that's no different. The config files are the same markup language as your Compose/k8s files so you're not learning a whole new syntax and having to switch languages mentally as you switch between them.
Caddy is super easy, but the fact that the Docker labels thing was a plugin is a con to me, I'd prefer it being first party. It also isn't as performant as Traefik, higher CPU usage while also having higher latency.
As far as I'm aware, Nginx and Nginx Proxy Manager support no such thing, you have to manually write those routes every time you create a new service.
Nginx Proxy Manager is a lot like Portainer. It's useful for people who don't want to learn Nginx and just want to click a few buttons. But anything complex you're suddenly going to be thrown into the deep end.
You've already set up Traefik, you've already done the complex bit. IMO there's no reason to change, from this point everything else is more complicated.
-
Caddy is the only reverse proxy I have ever managed to successfully make use of. I failed miserably with Nginix and Traefik.
Caddy has worked very well for me for several years now. It gets the SSL certificate from my domain name provider and all.
-
You can even use it to do the SSL part for a local non-SSL IMAP server. And, thereβs a CrowdSec middleware as well, that will block blacklisted IPs.
-
When I was researching reverse proxies I first stumbled upon nginx and traefik and especially nginx seemed a bit intimidating. As someone who hadn't done it before I was worried if I'd do it right. Then I found caddy and yeah just used a threeliner like that in config and that was that. Simple and easy to get it right.
I've since switched to having my stuff behind wireguard instead of reverse proxy, but I keep caddy around so I can just spin it back up if I want to access Jellyfin on someone's tv or something.
-
I've been mostly using Nginx Proxy Manager, but I recently set up Bunkerweb as a WAF for a couple of public services I'm hosting and I kind of like it. It does reverse proxy along with a bunch of other things (bad behavior blocking, geographic blocking, SSL cert handling, it does a lot).
Mentioning it because I didn't see any other mention of it yet.
NPM is easy to use. Caddy sounds like something I'd like to try too now.
-
I use nginx for static websites and TLS passthrough servers.
I use traefik as a reverse proxy for sites with many services and SSO.
Nginx is definitely easier to configure for simple things. But I prefer traefik for more complex setups.
-
So always assume some piece of knowledge is not obvious for someone out there and share
You just described a thing of mine I cannot help but do; explain the ever loving crap out of things
I need to be careful with that though as relatives start to complain and push back on me telling things over and over.
Thing is, until I see a full comprehension on the other side on what I try to convey I just keep explaining in variations, keep finding metaphors and keep pestering you until you 'get it'. Some say it is a virtue, some say it is a hindrance.I have had therapy on this...
-
Hahaha, I can totally relate. I think we should think of it as a virtue. Continue the good work
-
I was thinking about putting it from its dedicated VM to opnsense as well. I just don't know yet what the security implications are and also my firewall hardware isn't too beefy so I have to play around with it for a bit.
-
I'll throw in another recommendation for Caddy. I've been using it for years and the few problems/feature suggestions I had got implemented by the developers pretty quickly. They're super active on their forums and I haven't yet run into an issue where I couldn't either figure it out myself or with help from their community forums (usually from a dev.) They're very friendly and won't berate you for simple mistakes like other devs.
-
Stick with Traefik if you've figured it out. It's much more powerful than NPM in my opinion. If you insist on using NPM, you might want to try NPMPlus, it has more bells and whistles and is more actively maintained.
-
npm/npmplus
-
Yeah I'll stick with Traefik, I know how to use it
-
Ive got a basic workflow for nginx proxy manager now so this isnt super useful but good god that's exactly what i wish nginx was.