Tanúsítványok létrehozása
Az alábbi leírás azt hivatott kifejteni, hogyan lehetséges a projekt életciklusa során, új domain-ek esetén, frissítés helyett teljesen új tanúsítványokat igényelni a certbot -tól.
Ez a dokumentáció feltételezi, hogy a Tesztkörnyezet létrehozása dokumentációnak megfelelően van konfigurálva a HAProxy, és a tanúsítványhoz szükséges mappák is ennek megfelelően vannak létrehozva.
-
Amennyiben fut a HAProxy, akkor állítsuk le:
-
Indítsuk el az Nginxet az alábbi paranccsal:
-
Az domainjeinkhez a tanúsítványokat a Certbot állítja ki, amit az alábbi paranccsal tudunk kezdeményezni:
A
-dkapcsoló segítségével minden domain nevet soroljunk fel amihez tanúsítványt szeretnénk. (Azokat is fel kell sorolni amikhez már létezett korábban tanúsítvány.)Egy lehetséges példa, ami csak a client, admin és maildev-et tartalmazza, de szabjuk testre a parancsot annak mentén, hogy milyen domainek kerültek felvételre.
sudo certbot --cert-name ${projekt}.${ügyfél}.${környezet}.dev.gbsolutions.io --nginx -d admin.${projekt}.${ügyfél}.${környezet}.dev.gbsolutions.io -d client.${projekt}.${ügyfél}.${környezet}.dev.gbsolutions.io -d partner.${projekt}.${ügyfél}.${környezet}.dev.gbsolutions.io -d wiki.${projekt}.${ügyfél}.${környezet}.dev.gbsolutions.io -d maildev.${projekt}.${ügyfél}.${környezet}.dev.gbsolutions.io -d keycloak.${projekt}.${ügyfél}.${környezet}.dev.gbsolutions.io -d bot.${projekt}.${ügyfél}.${környezet}.dev.gbsolutions.io- A
${projekt}placeholder helyére a domain létrehozásakor megadott projekt azonosítót kell behelyettesíteni. - Az
${ügyfél}placeholder helyére az ügyfél nevét kell behelyettesíteni (Pl.:granit-bank,erste,vodafone). - A
${környezet}placeholder helyére a domain létrehozásakor megadott környezet azonosítót kell behelyettesíteni.
Kötelezően kinyitandó portok
Amennyiben a VM létrehozása során a Security Group definiálása során nem nyitottuk ki a 80 és 443-as pontot mindenki számára, akkor a certbot parancs kiadása idejére ezt tegyük meg, egyébként nem lesz sikeres a futása.
Példa
sudo certbot --cert-name semiproduct.intuitech.develop.dev.gbsolutions.io --nginx -d client.semiproduct.intuitech.develop.dev.gbsolutions.io -d admin.semiproduct.intuitech.develop.dev.gbsolutions.io -d partner.semiproduct.intuitech.develop.dev.gbsolutions.io -d wiki.semiproduct.intuitech.develop.dev.gbsolutions.io -d maildev.semiproduct.intuitech.develop.dev.gbsolutions.io -d keycloak.semiproduct.intuitech.develop.dev.gbsolutions.io -d bot.semiproduct.intuitech.develop.dev.gbsolutions.ioCertbot kérdések a tanúsítvány létrehozása során
A Certbot a generálás során az alábbi kérdésekre vár tőlünk választ:
Ennél a kérdésnél adjuk meg a projekt számára létrehozott email group címét. Erre az email címre fognak érkezni a tanúsítványok lejáratával kapcsolatos értesítések.Itt válaszoljunkPlease read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.3-September-21-2022.pdf. You must agree in order to register with the ACME server. Do you agree?y-al.Itt válaszoljunkWould you be willing, once your first certificate is successfully issued, to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom.n-el.Ha mindent jól csináltunk az alábbi üzenettel kezdődő eredményt kell látnunk:
nginx restart failedhiba a generálás soránAmennyiben a tanúsítványok létrehozása során az alábbihoz hasonló hibát kapjuk, nyugodtan ignorálhatjuk:
The certificate was saved, but could not be installed (installer: nginx). After fixing the error shown below, try installing it again by running: certbot install --cert-name semiproduct.intuitech.develop.dev.gbsolutions.io nginx restart failed: nginx: [emerg] could not build server_names_hash, you should increase server_names_hash_bucket_size: 64 - A
-
Ezt követően leállíthatjuk az Nginxet:
-
Hozzuk létre az
/etc/sslkönyvtárban a domainünkhöz tartozó mappát: -
A
${projekt}placeholder helyére a domain létrehozásakor megadott projekt azonosítót kell behelyettesíteni. - Az
${ügyfél}placeholder helyére az ügyfél nevét kell behelyettesíteni (Pl.:granit-bank,erste,vodafone). -
A
${környezet}placeholder helyére a domain létrehozásakor megadott környezet azonosítót kell behelyettesíteni. -
Majd fésüljük össze a
fullchain.pemésprivkey.pemfájlokat és másoljuk át az így előállt.pemfájlt az/etc/ssl/mappa alá az alábbi paranccsal:cat /etc/letsencrypt/live/${projekt}.${ügyfél}.${környezet}.dev.gbsolutions.io/fullchain.pem /etc/letsencrypt/live/${projekt}.${ügyfél}.${környezet}.dev.gbsolutions.io/privkey.pem | tee /etc/ssl/${projekt}.${ügyfél}.${környezet}.dev.gbsolutions.io/${projekt}.${ügyfél}.${környezet}.dev.gbsolutions.io.pem- A
${projekt}placeholder helyére a domain létrehozásakor megadott projekt azonosítót kell behelyettesíteni. - Az
${ügyfél}placeholder helyére az ügyfél nevét kell behelyettesíteni (Pl.:granit-bank,erste,vodafone). - A
${környezet}placeholder helyére a domain létrehozásakor megadott környezet azonosítót kell behelyettesíteni.
- A
-
Végül indítsuk el és frissítsük a HAProxy-t: