I feel like I have a doozy of a complicated issue and am looking for some guidance.

I’m new to Selfhosting so I got myself an off-the-shelf Asustor NAS. It’s got apps which is cool, so I’ve installed Jellyfin. I want to access my Jellyfin over the web so I’ve set up DDNS via my Asusstor Manual Connect and FreeDNS. This works well, I can access it over HTTP but the domain is… kind of long and unpleasant, so I got myself a “pretty” domain and setup a CNAME to the FreeDNS. I’m port forwarding on my router, everything works, so far so good.

To make it overtly complicated, I want to make the connection HTTPS. This is where I’m struggling. I’ve set up the SSL cert for my “pretty” domain via Lets Encrypt, but it times out. I’m not sure if, or how I can make the FreeDNS HTTPS or covered under my Lets Encrypt cert since I don’t technically own the FreeDNS domain. My provider doesn’t give my any wildcard options on the “pretty” domains cert either.

I’ve got the HTTPS set on my Asustor and Jellyfin based on the “pretty” domains SSL cert. I’ve got my port-forwarding 443 to Jellyfins suggested HTTPS port on my router. I feel like the lynchpin is the FreeDNS subdomain handing off the DDNS request but I’m not sure how to solve it. Any suggestions on how I can get this setup to work? Anyone else run a similar setup where they access their local X port via the web via HTTPS?

Open to similar experiences, suggestions, ideas, pretty much anything at this point.

  • lemmyvore
    link
    fedilink
    English
    3
    edit-2
    8 months ago

    “Terminated” means something that’s using the certificate to encrypt connections. You got the certificate but doesn’t sound like anything is actually using it.

    You can give it to Jellyfin so it can start encrypting the HTTPS port. The downside is that you’ll be stuck using your pretty domain for just Jellyfin, for now.

    If you decide to use it for more services later you can install a reverse proxy, get a wildcard certificate for *.pretty.domain, start creating subdomains as CNAMEs to the FreeDNS (eg. jellyfin.pretty.domain) and defining them in the reverse proxy.

    The reverse proxy will be handling the forwarded port and terminate the encryption for all subdomains, and will hand-off the unencrypted connection privately to the relevant app based on which domain the visitor is using (and issuing 404 not found it they use a domain you haven’t defined).