• 0 Posts
  • 5 Comments
Joined 3 years ago
cake
Cake day: September 17th, 2023

help-circle

  • A website is just a html page that lives on some computer somewhere and is being served by a program which tells the computer which html page to show when given a port + path to follow.

    All internet connected computers have IP addresses that we can use and DNS is the phonebook that connects IP addresses to domain names. (To test this, ping google.com in terminal, then copy and paste the IP address ping shows you into your address bar).

    The webserver/reverse proxy in this case is our program which tells your machine what to send and when: these are programs like traefik, caddy, Apache, nginx et al. On top of this, it doesn’t have to be just HTML files, it can be actual files, or services or programs you’ve written.

    External computer: “I want the contents of 10.11.12.13:443/some/path”

    [DNS Machinery and Tubes]

    Hosting machine: “Someone wants the contents of port 443 and some/path. Found the contents, let me send these back to them”

    [Internet machinery and tubes]

    External computer: “I have received the contents”

    As an aside, if you’re behind Carrier-Grade NAT (aka, you can’t actually reach your machine from your external IP address because you actually share it with a bunch other people) then you can use a VPN like tailscale (or headscale) to have a tunnel connection between the machines you require to interact/