I am currently self hosting multiple services with Docker containers. A file server, Kiwix with Wikipedia and a PieFed instance sitting behind a Caddy reverse proxy. The PieFed instance is not federated and is more acting like a forum which is meant for a local community within a city. If I do federate in the future, it would be to whitelisted instances from within my physical local community. I am also hosting from behind a Cloudflare Tunnel since my ISP blocks incoming data on lower ports.

I was hesitant to use Cloudflare originally but decided to use it since it was the most suggested recommendation. Now that America and American companies are losing trust world wide, I’d like to explore some other options for tunneling.

Since what I am hosting isn’t really meant for a large user base, I am okay with losing some of the security offered by Cloudflare’s free tier services. I’ll probably look into setting up Fail2Ban and rate limiting to stop a single petty person but that would be something I can do at a later time.

What would be some options to look into when it comes to tunneling behind an ISP with blocked lower ports?

  • brownmustardminion@lemmy.ml
    link
    fedilink
    English
    arrow-up
    4
    ·
    3 hours ago

    I recommend it every time this question pops up and I’m surprised more people aren’t privy to it:

    Rent a VPS as your public gateway. Connect the VPS to your server with a simple wireguard tunnel.

    The only thing on the VPS should be a reverse proxy with SSL/TLS pass through.

    Send the traffic at the VPS reverse proxy to a reverse proxy on the main server. Configure this proxy to use letsencrypt certs.

    The benefit and importance of the SSL pass through reverse proxy, is that it allows all data in transit to remain encrypted until it reaches your physical server. Traditionally, most would suggest the one and only reverse proxy exist on the VPS but all traffic would then be decrypted on the VPS. This could obviously compromise your traffic if the VPS provider snoops or your VPS is compromised.

    Cloudflare tunnels decrypt on their hardware as well, which is why I always recommend avoiding their services.

    • Voroxpete@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      3
      ·
      2 hours ago

      A question I have about this setup, because I’ve been contemplating out myself: If all the traffic flows through the VPS, I presume that will count against any usage limits / cost per GB with the VPS, right? Have you found that to be a problem with large file transfers or video streaming?

  • towerful@programming.dev
    link
    fedilink
    English
    arrow-up
    3
    ·
    3 hours ago

    Chisel, Rathole, an SSH tunnel with port forwarding, a VPN with port forwarding.
    Keywords are “self hosted tunnel” or “reverse proxy over VPN”.

    Run a VPS for like $5 a month, your local reverse-proxy tunnels out to the VPS, and your VPS forwards port 80/443 over the tunnel to your reverse-proxy.

  • Xanza@lemm.ee
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    4 hours ago

    Pangolin.

    Only complaint is that it uses Traefik instead of Caddy.

    • comrade_twisty@feddit.org
      link
      fedilink
      English
      arrow-up
      2
      ·
      4 hours ago

      Pangolin is amazing and completely replaced cloudflare tunnels for me.

      I have a cheap VPS at Infomaniak that handles a boatload of traffic with no issues whatsoever.

  • broton33@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    5 hours ago

    ngrok is a straightforward, powerful, and secure option. Check it out! I run it for my k8s cluster at home.