Kako konfigurirati dostop do okolja s kontejnerji z uporabo Nginx Proxy Managerja na Linuxu
Uvod
V tem vodiču boste konfigurirali varen in uporabniku prijazen dostop do storitev v kontejnerjih z uporabo Nginx Proxy Managerja. Ta pristop poenostavi upravljanje povratnega proxyja prek spletnega vmesnika namesto ročne konfiguracije. Namestili boste Nginx Proxy Manager z Dockerjem, ga nastavili in izpostavili storitev v kontejnerju prek domene.
Predpogoji
Ciljna publika: Začetni sistemski administratorji
Ocenjeni čas: ~30 minut
Končni cilj: Do konca tega vodiča boste imeli delujočo nastavitev Nginx Proxy Managerja, ki usmerja zunanji promet do aplikacije v kontejnerju.
Sistemske zahteve:
- OS: Linux distribucija, združljiva z Dockerjem
- Docker: 24.0.6 ali novejši
- Docker Compose: v2
- Minimalno 1 GB RAM-a in 10 GB prostora na disku
- Domena, ki kaže na vaš IP strežnika
- Odprti porti: 80, 81, 443
- Pravice sudo
Potrebno znanje:
- Osnovna uporaba ukazne vrstice Linuxa
- Osnovno razumevanje Docker kontejnerjev
Korak 1: Razumevanje Nginx Proxy Managerja
Nginx Proxy Manager je orodje, ki temelji na spletu in upravlja konfiguracije povratnega proxyja Nginx. Omogoča vam usmerjanje prometa do različnih storitev z uporabo domen, omogočanje SSL certifikatov in upravljanje pravil dostopa brez ročnega urejanja konfiguracijskih datotek.
Ključne funkcije:
- Spletni vmesnik za upravljanje proxyja
- Samodejni SSL prek Let's Encrypt
- Nadzor dostopa in avtentikacija
- Enostavna integracija z Docker okolji
Rezultat: Razumete, kako Nginx Proxy Manager poenostavi izpostavljanje storitev v kontejnerjih.
Korak 2: Namestitev Dockerja in Docker Compose
Namestite Docker z enostavnim enovrstičnim ukazom:
curl -sSL https://get.docker.com/ | CHANNEL=stable bash
Preverite namestitev Dockerja:
docker --version
Preverite Docker Compose:
docker compose version
Rezultat: Docker in Docker Compose sta nameščena in pripravljena za uporabo.
Korak 3: Nastavitev Nginx Proxy Managerja
Ustvarite projektno mapo:
mkdir ~/npm && cd ~/npm
Ustvarite konfiguracijsko datoteko:
nano docker-compose.yml
Vstavite vsebino konfiguracije:
version: "3" services: app: image: jc21/nginx-proxy-manager:latest restart: always ports: - "80:80" - "81:81" - "443:443" volumes: - ./data:/data - ./letsencrypt:/etc/letsencrypt
Shranite datoteko in izstopite.
Zaženite storitev:
docker compose up -d
Rezultat: Kontejner Nginx Proxy Managerja deluje in posluša na zahtevanih portih.
Korak 4: Dostop do spletnega vmesnika

Odprite brskalnik in pojdite na: http://<YOUR_IP_ADDRESS>:81
Privzeti prijavni podatki:
- Email:
[email protected] - Geslo:
changeme
Posodobite svoje podatke, ko vas sistem pozove.
Rezultat: Lahko dostopate in upravljate Nginx Proxy Manager prek spletnega vmesnika.
Korak 5: Namestitev testnega kontejnerja
Zaženite testni spletni kontejner:
docker run -d --name test-app -p 8080:80 nginx
Preverite dostop z odpiranjem: http://<YOUR_IP_ADDRESS>:8080
Rezultat: Testni kontejner deluje in je dostopen lokalno.
Korak 6: Ustvarjanje proxy gostitelja

V vmesniku Nginx Proxy Manager:
- Kliknite "Proxy Hosts"
- Kliknite "Add Proxy Host"
- Vnesite domeno:
<YOUR_DOMAIN> - Posredujte ime gostitelja ali IP:
localhost - Posredujte port:
8080 - Omogočite "Block Common Exploits"
- Shranite konfiguracijo
Rezultat: Promet iz vaše domene je usmerjen v kontejner.
Korak 7: Omogočanje SSL

Uredite proxy gostitelja:
- Odprite zavihek SSL
- Izberite Request a new SSL Certificate
- Omogočite Force SSL
- Omogočite HTTP/2 Support
- Vnesite svoj email in sprejmite pogoje
- Shranite spremembe
SSL zahteva pravilne DNS zapise, ki kažejo vašo domeno na vaš strežnik.
Rezultat: HTTPS je omogočen in zavarovan z veljavnim certifikatom.
Preverjanje
Odprite svojo domeno: https://<YOUR_DOMAIN>
Pričakovani rezultati:
- Naloži se testna stran Nginx
- Brskalnik prikaže veljaven SSL certifikat
- Ni varnostnih opozoril
Preverite delujoče kontejnerje:
docker ps
Rezultat: Povratni proxy deluje pravilno in varno usmerja promet.
Vračanje sprememb
Ustavite storitve:
docker compose down
Odstranite testni kontejner:
docker rm -f test-app
Izbrišite projektne datoteke:
rm -rf ~/npm
Pomembno: To odstrani vse konfiguracije in SSL certifikate.
Rezultat: Vse spremembe so vrnjene in sistem je čist.
Odpravljanje težav
Težava: Ne morem dostopati do spletnega vmesnika
Rešitev: Prepričajte se, da je port 81 odprt in ga ne uporablja druga storitev
Težava: Generiranje SSL certifikata ne uspe
Rešitev: Preverite, ali DNS konfiguracija kaže na vaš strežnik
Težava: Proxy gostitelj ne deluje
Rešitev: Preverite stanje kontejnerja z docker ps in dnevnike z docker logs <CONTAINER_ID>
Rezultat: Pogoste težave so identificirane in rešene.
Zaključek in naslednji koraki
Namestili in konfigurirali ste Nginx Proxy Manager z uporabo Dockerja in izpostavili storitev v kontejnerju z domeno in SSL. Ta nastavitev omogoča enostaven in razširljiv način upravljanja več storitev.
Naslednji koraki:
- Dodajte dodatne storitve za različne domene
- Konfigurirajte sezname za nadzor dostopa
- Raziskujte napredne nastavitve proxyja in varnosti