9
submitted 6 days ago by dontblink@feddit.it to c/selfhost@lemmy.ml

Let's say I have a domain called mysite.com

mysite.com points to a server which only opens port 443, and each connection will need to go through that and deal with Caddy reverse proxy.

I want to host more services on it.

Let's say I want to host an email service, the easiest thing would be using a subdomain such as mail.mysite.com and reverse proxy each connection to the internal port on which the service run.

Same with a chat service chat.mysite.com.

But for the sake of readability it would be much better to simply have username@mysite.com than username@mail.mysite.com or username@chat.mysite.com.

reverse proxying every request from a subdomain to the right port is pretty straightforward with Caddy, also if you use cloudflare you can proxy with cloudflare each subdomain and have auto SSL certificate without further set up, which is amazing!

But what if I do want my services to be accessed through mysite.com directly instead of a specific per-service subdomain?

Some federated services also have two separate ports for server requests and client requests, which further complicates the process..

Is this service specific and must configured individually for each service? Or there is a way to tell caddy that a specific request going through mysite.com should be redirected through port X.X.X.X? Is there a way Caddy can recognize where requests need to be directed?

you are viewing a single comment's thread
view the rest of the comments
[-] SethranKada@lemmy.ca 1 points 6 days ago

It can be done, but only if the service your trying to use makes all of its requests using a specific port. There's no way to do it with a reverse proxy to my knowledge though. I've got both my email and my blog at myname.tld, for example. I just had to configure both of them with DNS.

If what your trying to do is have all requests for one port be directed to another port... your out of luck. I've been trying for ages to have nginx forward all 443 traffic on proxy.mynane.tld to 30018 and 80 traffic on proxy.myname.tld to 30024 but no luck so far.

[-] BillibusMaximus@sh.itjust.works 3 points 6 days ago

If you've been trying for a while and still haven't gotten it working, then I'm probably missing something regarding your requirements.

But at first glance, it seems like it would be solved with 2 server blocks, 1 for 80, 1 for 443, each with their own proxy config passing / to their respective target ports.

this post was submitted on 01 Oct 2025
9 points (84.6% liked)

Self Hosted - Self-hosting your services.

16192 readers
2 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules

Important

Cross-posting

If you see a rule-breaker please DM the mods!

founded 4 years ago
MODERATORS