109
submitted 1 year ago* (last edited 1 year ago) by Solvena@lemmy.world to c/selfhosted@lemmy.world

So, I have some idea on what a reverse proxy does and will be using nginx (with the neat proxy manager UI) for my setup.

However, I'm not completely clear what exactly I want it to do and how I cn use it to run different services on one machine. I'm especially unclear on the ports configuration .... tutorials will say things like "change the listening port to xxx for that service and to port yyy for the other service"

How does this work, which ports can I use and how do I need to configure the respective services?

EDIT: thanks everybody, your replies did help me a lot! I have my basic setup now up and running using portainer + nginx + fail2ban.

you are viewing a single comment's thread
view the rest of the comments
[-] wgs 59 points 1 year ago

ELI5

So it's saturday afternoon, a very hot one, so you ask your daddy for an ice cream (hosted service). The shop you go in is very bizarre though, as there is one vendor (TCP port) for each flavor (docker service/virtualhost). But it's tricky because they're all roaming in the shop, and you don't know who's responsible for each flavor. Your dad is also not very comfortable paying these vendors directly because they only accept cash and do not provide any receipt (self-signed certificate/no TLS).

Hopefully, there is the manager (reverseproxy) ! This girl is right where you expect her: behind the counter (port 80/443), accept credit cards and has a receipt machine (Domain name + associated certificate). She also knows everyone on her team, and who's responsible for each flavor !

So you and your dad come to see the nice lady, ask for a strawberry + chocolate ice cream, and pay her directly. Once done, she forwards your request directly to the vendors responsible for each flavor, and give you back your ice cream + receipt. Life is good, and tasty !

[-] DeadGemini@waveform.social 10 points 1 year ago

Worth noting OP: port 80 is HTTP, and port 443 is HTTPS

[-] Sharpiemarker@feddit.de 8 points 1 year ago

Fantastic! I'd love to hear your explanation for DNS.

[-] wgs 8 points 1 year ago* (last edited 1 year ago)

That one is easy ! Because in a few years (remember, you're 5), you'll be a scout ! And to collect a few dollars for your summer camp, you'll sell pastries to the neighborhood. It's easier than ever because it's 2030, and everyone can just order the pastries on your website, and pay online. All you have to do now is hop on your bike, and deliver the pastries (network connections) to your neighbors (online servers). So you grab the first package, and read the label on it:

  • Mrs. Britneak

And that's it ! You have no idea who this person is, or where they live ! So you call out your leader (DNS server):

  • Hi Mr. Leader !
  • ... (nobody ever get my UDP jokes)
  • So I got this package to deliver to mrs. Brtineak. But I don't know where she lives
  • Oh sure, let me lookup the register (zone file). Hold on for a sec... Alright, she's here: 62.644888, -160.194309

And then he hangs up immediately (this is UDP, remember?).

You write it down (local caching DNS server), and look it up. You're a scout, so you're trained to read and find GPS coordinates. You go there in a few minutes and deliver the package in time ! Mrs Britneak is happy, and you go on to the next package:

  • Mr. Tomburgh

Time to call leader again !

[-] dandroid@dandroid.app 6 points 1 year ago

This is a really good explanation!

[-] billwashere@lemmy.world 5 points 1 year ago

This is just beautiful. I may steal this 😇

[-] wgs 4 points 1 year ago

Please do ! Networking is beautiful and people need to know it !

this post was submitted on 12 Jul 2023
109 points (97.4% liked)

Selfhosted

38652 readers
299 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:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS