Hey all,

So I’ve been playing with Nginx so that I can reference my self hosted services internally by hostname rather than by IP and port.

I set some custom entries in my pihole, setup the proxies on Nxing, and boom. All is working as expected. I can access Jellyfin via jellyfin.homelab, amp via amp.homelab, etc.

I wanted to have all of these internally facing, because I don’t really have a need for them outside of my network, and really just wanted the convenience of referencing them.

Question 1) If I wanted to add SSL certs to my made up homelab domain, how hard would that be?

Question 2) When accessing something like Jellyfin via jellyfin.homelab, all traffic is then going through my nginx VM, correct? Or is Nginx just acting as a sort of lookup which passes on the correct IP and port information?

  • 0x0F
    link
    1
    edit-2
    1 year ago

    1: not very hard actually, the hardest part is gettin the cert onto your other devices x3
    all you need to do is add each subdomain to the cert, add ssl_certificate and ssl_certificate_key to the http block, then enable ssl for each subdomain, like so:

    http {
        # cert
        ssl_certificate /etc/nginx/public.crt;
        ssl_certificate_key /etc/nginx/private.key;
        server {
            listen       12345:443 ssl;
            server_name  pi.hole;
    
            location / {
                    proxy_pass http://localhost:80;
            }
        }
        server {
            listen       12345:443 ssl;
            server_name  fox.hole;
    
            location / {
                    proxy_pass http://localhost:621;
            }
        }
    }
    

    2: correct, all traffic goes through nginx.