Hacker News new | ask | show | jobs
by sdan 2329 days ago
Traefik.

Recently they started supporting TCP so now I do both HTTP for websites and TCP for databases

2 comments

If you need any help, let me know at hn@sdan.cc. I'm going to write a couple blog posts documenting how to do this (because it took me a full brain-wrecking week to figure out how to do this properly).

WireGuard for networking and Traefik for loadbalancing is so easy to do (if you do it correctly).

> because it took me a full brain-wrecking week to figure out how to do this properly

I would appreciate a guide as well, really for anything Wireguard adjacent. I tried to get a simple client / server configuration with forwarding set up about 2 months ago and gave up after 5 hours of blood, sweat, and tears. Disclaimer: the server was an OPNsense based router. I probably could have done it between two Linux servers from the terminal. I was using a guide I found online, but it didn't help, which may have been due to using OPNsense, I'm not sure.

OpenVPN may be more complicated in theory, but one really nice thing about it is that there are tools that make setting up a configuration trivial on just about any device that supports it. Not true for Wireguard (yet). I'm sure it will get there eventually.

While waiting for your interesting blog post, I have a few questions if you don't mind :-) :

So your setup is: * GCP Instance (i.e. VM on the Google infrastructure). - Traefik running on this instance.

* GCP conntected to Wireguard => Is Wireguard run on a router/firewall, or directly on the DB, HTTP servers? If router, would be interesting to know which type of router?

* Behind Wireguard: Two servers (DB and HTTP) + Laptop

* You SSH to the two Servers (directly or via the GCP?)

Thanks! :-)

I would love to see a blog post on this.
Are you using TLS over TCP to route to the DBs?
I think I was doing TLS at one point, but removed it temporarily in an effort to focus on other infrastructure stuff.
Just checked and I'm doing TLS. You can easily do this with Traefik (which I will include in my upcoming post).