Publicarea serviciilor self-hosted folosind Nginx Proxy Manager și Let’s Encrypt
În acest articol vom configura Nginx Proxy Manager pentru publicarea unui serviciu intern și vom genera un certificat SSL folosind Let’s Encrypt.
Verificare Docker:
docker --version
În browser accesăm:
http://IP_SERVER:81
Autentificarea implicită:
Email: admin@example.com
Parolă: changeme
La prima autentificare se recomandă schimbarea parolei.
Pasul 2 – Crearea unui Proxy Host
Din meniul:
Hosts -> Proxy Hosts
selectăm:
Add Proxy Host
Completăm:
Domain Names: cloud.domeniu.ro
Scheme: http
Forward Hostname/IP: 192.168.1.100
Forward Port: 8080
Exemplu:
cloud.domeniu.ro -> 192.168.1.100:8080
Pasul 3 – Activarea certificatului SSL
Accesăm tab-ul:
SSL
Selectăm:
Request a new SSL Certificate
Bifăm:
Force SSL
HTTP/2 Support
Agree to Let's Encrypt Terms of Service
și salvăm configurația.
Pasul 4 – Verificarea certificatului
După emiterea certificatului accesăm:
https://cloud.domeniu.ro
Browserul trebuie să afișeze conexiune securizată.
Pasul 5 – Configurarea redirecționării HTTPS
În configurarea Proxy Host verificăm că opțiunea:
Force SSL
este activată.
Astfel toate conexiunile HTTP vor fi redirecționate automat către HTTPS.
Pasul 6 – Publicarea mai multor servicii
Pentru fiecare serviciu intern se creează câte un Proxy Host separat.
Exemplu:
immich.domeniu.ro -> 192.168.1.50:2283
grafana.domeniu.ro -> 192.168.1.60:3000
uptime.domeniu.ro -> 192.168.1.70:3001
authentik.domeniu.ro -> 192.168.1.80:9000
Se verifică:
- accesarea serviciului prin domeniu
- validitatea certificatului SSL
- redirecționarea HTTP către HTTPS
- funcționarea aplicației publicate.