SSL a Homelab-en Dockerrel és DuckDNS-szel
Ez az útmutató egy alternatív, Docker-alapú megoldást mutat be SSL tanúsítványok beállítására lokális hálózaton. A DuckDNS, a Docker Compose és a Nginx Proxy Manager hármasát használjuk. A cél: biztonságos HTTPS elérés a belső hálózati szolgáltatásokhoz anélkül, hogy azokat közvetlenül kitennénk az internetre.
DuckDNS
Ingyenes dinamikus DNS szolgáltató, ami biztosítja a domain nevet és a Let’s Encrypt hitelesítéshez szükséges tokent.
Docker Compose
Eszköz a több konténerből álló Docker alkalmazások egyszerű definiálására és futtatására egyetlen YAML fájl segítségével.
Nginx Proxy Manager
Egy felhasználóbarát, grafikus felület a reverse proxy-k kezelésére, beépített, automatizált SSL tanúsítvány-igényléssel.
Előfeltételek
- Működő Docker és Docker Compose telepítés a szerveren.
- Egy ingyenes DuckDNS fiók és egy regisztrált aldomain.
- Egy már futó belső szolgáltatás, amit el szeretnél érni (pl. Home Assistant, Plex), és aminek ismered a belső IP címét és portját.
A beállítás lépésről lépésre
Add meg saját DuckDNS adataidat!
A `docker-compose.yaml` fájl automatikusan frissülni fog az itt megadott értékekkel.
DuckDNS fiók beállítása
Ha még nincs, hozz létre egy fiókot a duckdns.org oldalon. Adj hozzá egy aldomaint, majd másold ki a hozzá tartozó tokent. Ezekre az adatokra lesz szükséged a következő lépésben.
Docker Compose fájl létrehozása
Hozz létre egy mappát a szerveren (pl. `npm`), majd ezen belül egy `docker-compose.yaml` nevű fájlt a lenti tartalommal. A fájl a megadott adatokkal dinamikusan frissül.
A konténerek indítása
Navigálj a terminálban a `docker-compose.yaml` fájlt tartalmazó mappába, majd indítsd el a szolgáltatásokat a háttérben.
Nginx Proxy Manager konfigurálása
A konténerek elindulása után nyisd meg a Nginx Proxy Manager (NPM) adminisztrációs felületét a böngészőben: http://<szerver-ip>:81
A. Első bejelentkezés és jelszóváltoztatás
Jelentkezz be az alapértelmezett adatokkal, majd azonnal változtasd meg őket!
- Email: `admin@example.com`
- Jelszó: `changeme`
B. SSL tanúsítvány igénylése
- Navigálj az SSL Certificates menüpontra, majd kattints az Add SSL Certificate → Let’s Encrypt gombra.
- A Domain Names mezőbe írd be a wildcard domaint: `*.sajat-domainem.duckdns.org`
- Kapcsold be a Use a DNS Challenge opciót.
- A DNS Provider listából válaszd ki a DuckDNS-t.
- A `Credentials File Content` mezőbe illeszd be: `dns_duckdns_token = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`
- Fogadd el a felhasználási feltételeket, majd kattints a Save gombra.
C. Proxy Host létrehozása
- Navigálj a Hosts → Proxy Hosts menüpontra, majd kattints az Add Proxy Host gombra.
- A Domain Name mezőbe írd be a szolgáltatás teljes címét (pl. `homeassistant.sajat-domainem.duckdns.org`).
- A Forward Hostname / IP mezőbe írd be a belső szolgáltatás IP címét (pl. `192.168.1.100`).
- A Forward Port mezőbe írd be a szolgáltatás portját (pl. `8123`).
- Kapcsold be a Block Common Exploits opciót.
- Válts az SSL fülre.
- Az SSL Certificate listából válaszd ki az előző lépésben létrehozott tanúsítványt.
- Kapcsold be a Force SSL opciót, majd kattints a Save gombra.
Kész is vagyunk!
Gratulálunk! A beállítások után a belső szolgáltatása mostantól elérhető a megadott domain néven, egy érvényes, biztonságos HTTPS kapcsolaton keresztül. A Nginx Proxy Manager automatikusan gondoskodni fog a tanúsítványok időben történő megújításáról.
Discover more from Okosotthon Blog
Subscribe to get the latest posts sent to your email.