I followed YouTube videos and all my domain points to is “server not found.” My domain is through Cloudflare. My server’s ports have been opened at the router.

Proxy Host Settings: Domain name: newly.registered.domain Scheme: http (I’ve tried https too) Forward hostname/IP: local.server.ip.v4 Forward port: jelly_port Access list: Publicly accessible SSL: *.newly.registered.domain

I’d love to share my certificate info, but I don’t see a way to do that…but I set up the DNS thingy with a Cloudflare API token. I remember typing in my server’s public IP here too. Took many tries, but it finally accepted the settings as valid.

So what am I missing to get a reverse proxy? I thought it was supposed to work after all of that.

I’ve been trying to get this going for so long that it just feels like I’m beating my head against the wall until it randomly works, ya know?

  • frongt@lemmy.zip
    link
    fedilink
    English
    arrow-up
    3
    ·
    2 days ago

    You’re trying to run before you can walk. Run a “hello world” HTTP container, no cloudflare or proxy, and make sure you can reach it. But test it with your phone on mobile data, or https://downforeveryoneorjustme.com/, because it probably won’t work on the LAN without NAT loopback/hairpinning.

    Also, don’t put jellyfin on the internet anyway, it’s not designed for it. If you want external access, use a VPN.

    • LazerDickMcCheese@sh.itjust.worksOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      2 hours ago

      Thank you, that’s really solid advice. It turns out my efforts may have been misguided anyway. I think I was under the impression that “internet exposure” and “Cloudflare tunnel” had similar setups

      • CommanderShepard@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        14 hours ago

        You can use Tailscale and a personal domain. Run Tailscale on the same machine as your reverse proxy. Then point DNS records to the machine’s Tailscale IP. Now you can access any services from any machine connected to your Tailscale with a valid HTTPS certificate

      • frongt@lemmy.zip
        link
        fedilink
        English
        arrow-up
        1
        ·
        20 hours ago

        Well, those do different things. Expose the VPN, connect via your domain name.

  • brewery@feddit.uk
    link
    fedilink
    English
    arrow-up
    5
    ·
    3 days ago

    Did you open ports in docket for 80, 443 for nginx and a port for jellyfin (in docker compose under services add these but with tabs not spaces ports: - 443:443)

    Do you have ufw or a firewall running? This might be blocking the ports for jellyfin and/or nginx.

    It might be easier to create a bridge network called proxy (docker network create proxy) then in docker compose add the following under services networks: - proxy

    And at the bottom of the compose file

    networks: proxy: external: true

    Then in your nginx setting redirect to jellyfin:8096 (service name in docker compose: internal port jellyfin uses I.e. right hand side of ports mapping. Are you using straight nginx or nginx proxy manager (might be worth using this).

    Can you access jellyfin locally on your network (http://internal-ip-of-server:8096/ on a browser)?

    Has your DNS been setup to point to the correct ip your router is on? Are you behind a dynamic IP or cgnat? If cgnat, you have to use cloudflare tunnels. If ddns look into cloudflared docker image.

    Does your router forward those ports to the correct internal ip of your server? Have you fixed the internal IP of the server machine?

    Don’t share your certificate details but you can share your docker compose with personal information redacted or replaced

    It’s probably not a good idea to publish jellyfin to the internet. Look into tailscale or cloudflare tunnel with login security, or wireguard.

    • LazerDickMcCheese@sh.itjust.worksOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      3 hours ago

      Ok, this is an extensive answer (thank you), but also a lot to unpack. Before I go making a bridge network, I wanna make sure I’m following you. I’m pretty inexperienced with self-hosting in general outside of Docker, but I’m especially a novice with anything networking so pardon my ignorance here.

      Yes, Jellyfin is accessible locally. Performance is the best I’ve ever seen it too. I uninstalled Tailscale on my Ubuntu server (it was causing networking issues, frankly I didn’t understand how) and removed it from my tailnet dashboard, but Jellyfin is still remotely accessible via Tailscale (which is fine, I guess).

      At this point, my users and I are trying to avoid Tailscale on mobile devices when possible. Two reasons: 1. prevents maintaining regular VPN usage (deal breaker for a couple people) 2. switching between home wifi and mobile drops connectivity, required turning networking off and on again (deal breaker for me, I got spoiled by Synology’s reverse proxy and can’t go back)

      From what I can tell, there’s no CGNAT trickery at play (actually the internet says otherwise). My DNS is a local Pihole+Unbound, in case that matters. The Ubuntu IP is static. Were you requesting the yaml of Jellyfin or Nginx?

      And I believe I was hoping to set up a “Cloudflare tunnel.” I think I was under the impression that this “tunnel” *is *a reverse proxy.

    • LazerDickMcCheese@sh.itjust.worksOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      4 hours ago

      Yes, I recently got it working. So LAN connectivity is fine and strangely I can remote access it via Tailscale even though the machine isn’t on a tailnet

  • irmadlad@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    2 days ago

    This isn’t a solution to your issue, but a suggestion:

    Since you are already using Cloudflare for your domain name, and I assume they gave you some nameservers to use, why not explore the Cloudflare Tunnels/ZeroTrust? Cloudflare Tunnels don’t care if you are behind a dynamic IP, or cgnat. Cloudflare is unconcerned with what ports you open on your router/firewall. You don’t even have to adjust your UFW firewall settings. Cloudflare punches through all that with a tunnel in to your server and tunnel out to the internet.

    Admittedly, it did take me a couple tries to get everything worked out, but once I did, it’s easy peasy from there. If you decide this route, I’d be more than happy to clean up some of my notes and share them with you. Might help…might not. LOL

    • LazerDickMcCheese@sh.itjust.worksOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      3 hours ago

      See, this just shows how much I need to learn…I thought what I was trying to set up *was *the same thing as a “Cloudflare tunnel.” Honestly, don’t care how it gets implemented, I just assumed this was the easy way because that’s what all the youtubers were suggesting. My end goal here is “I’m on my phone 100 miles away from home, open Jellyfin/Nextcloud/whatever, use domain.actually.works” without needing to disable my Proton/Air/Mullvad connection.

      But I’ve followed 4 or 5 “you won’t believe how easy Nginx is” tutorials, and they’re not working for me…