Nginx...
Nginx futtatása docker konténerben, több hoszt támogatása, SSL tanusítvány kezelés.
Tűzfalon pfsense, 80-as, 443-as portok átirányításra kerültek a jelenlegi docker host irányába.1
Nginx első indítása Docker környezetben
ssh ladmin@docker
# a gépen lévő image-k megtekintése
sudo docker images
ha még nem készült korábban debian-base image akkor kattints ide.
OpenSSL használata jelszóval védett tömörített állományokhoz.
git clone https://github.com/csepely/debian-nginx.git
cd debian-nginx
sudo dev/build
# nginx konténer indítása
sudo dev/run
# config állomány feltöltése
sudo docker cp configs.tar.xz.enc debian-nginx:/root/
# parancssor elérése a konténeren belül
sudo docker exec -ti debian-nginx /bin/bash
# az alábbi parancsok a docker konténeren belül lesznek kiadva
#
# config állomány kitömörítése
openssl enc -aes-256-cbc -d -pbkdf2 -in configs.tar.xz.enc | tar -P -xJ
# kiszolgált oldalak engedélyezése
cd /etc/nginx/sites-enabled/
for i in \
it-pelda-hu \
it-pelda-hu-ssl \
pelda-ddns-net \
pelda-hopto-org; \
do \
ln -s /etc/nginx/sites-available/$i $i; \
done
# nginx config teszt, reload
nginx -t
# ha OK...
nginx -s reload
# certbot tanusítványok beállítása
## domain1.ddns.net
certbot certonly --agree-tos \
--email user@pelda.hu \
--webroot -w /var/lib/letsencrypt/ \
-d pelda.ddns.net
## pelda.hopto.org
certbot certonly --agree-tos \
--email user@pelda.hu \
--webroot -w /var/lib/letsencrypt/ \
-d pelda.hopto.org
# ssl oldalak engedélyezése
cd /etc/nginx/sites-enabled/
ln -s /etc/nginx/sites-available/pelda-ddns-net-ssl pelda-ddns-net-ssl
ln -s /etc/nginx/sites-available/pelda-hopto-org-ssl pelda-hopto-org-ssl
# nginx reload
nginx -s reload
# parancsok vége, kilépés
exit
Monitorozás
konténer log
docker logs -f debian-nginx
shell kérése
sudo docker exec -ti debian-nginx /bin/bash
...
# kilépés
exit
Változtatás esetén
nginx, certbot
tar -P --exclude=/etc/nginx/sites-available/default -cJ \
/etc/letsencrypt/ \
/etc/nginx/snippets/letsencrypt.conf \
/etc/nginx/sites-available/* | \
openssl enc -aes-256-cbc -e -pbkdf2 -out configs.tar.xz.enc
# ezután másoljuk ki a konténerből a mentést
Tanusítvány frissítés 2
certbot renew --post-hook "nginx -s reload"
Konfig állomány kimentése a docker-ből
sudo docker cp debian-nginx:/root/configs.tar.xz.enc .
Konfig állomány bemásolása a docker-be
sudo docker cp configs.tar.xz.enc debian-nginx:/root/