Több domain Let’s Encrypt tanúsítvánnyal egy ip címen

Sziasztok!

Abban kérnék segítséget, hogyan lehet megoldani több domain Let’s Encrypt tanúsítvánnyal üzemletetését egy public ip címen? A weboldalak külön konténerekben lesznek saját local ip-vel és ezek elé kéne, ha jól gondolom, valamilyen reverese proxy, de kívülről csak egy public ip van. Megköszönöm, ha valaki küld egy linket, tutorialt, egy működő konfigról.

Hozzászólások

Godolom virtualhostok lesznek, benne reverse proxy

certbot -d 0domain.tld
...
certbot -d Ndomain.tld

Tök mindegy hogy Reverse proxy van-e, https challenge lefusson. Az domain-hez tartozó ip-n https válasz kell.
Multi domain ssl nincs, csak wildcard. Mindegyik domain-hez egyenként kell futtatni, de a frissítés (cron) már automatikus lesz akárhány domained is van. (Wildcard aldomainekre jo)

feliratkoztam

* Én egy indián vagyok. Minden indián hazudik.

Ez egy kiváló eszköz, nagyon komplex feladatokat is meg lehet vele oldani, de ha csak a leírt feladatra szeretnéd használni, azt pár soros configgal el tudod intézni. Utána hozzá se kell nyúlnod, a container flagben beállítod, hogy milyen domaint rendeljen hozzá a Traefik és ő majd teszi a dolgát.

Ha később növekedik vagy kevert technológiákat használ majd a projekted, akkor sem kell váltanod.
Az sem utolsó szempont, hogy ezzel megtanulsz egy kicsit más szemléletet is

Közel egy éve használom, egyszer sem volt problémám vele.

Haproxy azt csokolom :)
Figyel a kinti public ip-n es beproxyzza a belso konteneres ipkre.
---------------------------------------------------
Hell is empty and all the devils are here.
-- Wm. Shakespeare, "The Tempest"

Nem tudom, hogy Docker-t használnál-e, de ha igen, akkor itt egy kész cucc, én ezt a repót használom: https://gitlab.com/webmenedzser/hosting-with-docker

Az appodban pedig csatlakoznod kell a proxy hálózatához, illetve ENV-ként fel kell venned néhány változót. Egy példa "app" konfig:


networks:
hosting-with-docker_nginx_reverse_proxy:
external: true
default:
external: false

version: '3.6'
services:

web:
image: nginx:latest
container_name: domain_nginx
restart: always
expose:
- 80
networks:
- default
- hosting-with-docker_nginx_reverse_proxy
environment:
- VIRTUAL_HOST=domain.hu
- LETSENCRYPT_HOST=domain.hu
- LETSENCRYPT_EMAIL=otto@webmenedzser.hu

Minden mögötte ülő projektnél át kell alakítani kicsit a docker-compose fájlt, de onnantól megy megbízhatóan. A docker logs letsencrypt_nginx_proxy_companion-ra valami ilyesmit kell, hogy kapj azt követően, hogy 1) elindítottad a proxy projektet, 2) elindítottad a mögötte lévő projektedet:

...
Creating/renewal XXX.yoda.webmenedzser.hu certificates... (XXX.yoda.webmenedzser.hu)
2019-10-22 06:15:07,532:INFO:simp_le:1323: Generating new account key
2019-10-22 06:15:09,975:INFO:simp_le:1353: By using simp_le, you implicitly agree to the CA's terms of service: https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf
2019-10-22 06:15:10,938:INFO:simp_le:1414: Generating new certificate private key
2019-10-22 06:15:19,625:INFO:simp_le:396: Saving account_key.json
2019-10-22 06:15:19,627:INFO:simp_le:396: Saving account_reg.json
2019-10-22 06:15:19,627:INFO:simp_le:396: Saving key.pem
2019-10-22 06:15:19,628:INFO:simp_le:396: Saving chain.pem
2019-10-22 06:15:19,629:INFO:simp_le:396: Saving fullchain.pem
2019-10-22 06:15:19,630:INFO:simp_le:396: Saving cert.pem
...

Innentől az automatikus megújítás, stb. szépen megy.

szerk.: hm, elég szarcsi a code tag, szóval szépen szétszedi a kódrészletet, ezért betettem a példát a README.md-be: https://gitlab.com/webmenedzser/hosting-with-docker/blob/master/README…