SSL helyi fejlesztési környezetben

A csak HTTPS-t használó böngészők, a SameSite cookie-k és a reális fejlesztési feltételek idején fontos, hogy helyben, valódi SSL-tanúsítványokkal dolgozzunk. A Let's Encrypt úttörő munkát végzett itt – a certbot és a Cloudflare segítségével a helyettesítő karakteres tanúsítványok létrehozása és megújítása gyors és egyszerű. Ez lehetővé teszi, hogy bármilyen eszközön (okostelefon, virtuális gép stb.) titkosítva hozzáférjen webprojektjeihez a helyi hálózaton vagy VPN-en keresztül.


Először regisztrálunk például egy fejlesztői domaint a Cloudflare-nél vielhuber.dev:

Most hagyjuk, hogy ez a tartomány a saját helyi IP-címére mutasson (például 192.168.0.2) show. Ehhez hozza létre a következő DNS A rekordokat (fontos: A proxy állapotát a következőre kell állítani). szürke/csak DNS beállítva):

TípusNévTartalom
A@192.168.0.2
A*192.168.0.2

A helyettesítő karakter tanúsítványok érvényesítéséhez automatikusan be kell állítani a TXT rekordokat. Ehhez most létrehozunk egy API tokent (Profil > API tokenek > Token létrehozása > Sablon: Zóna DNS szerkesztése), és kiválasztjuk a tartományt:

Végül beállítottuk a certbotot:

sudo apt install certbot python3-certbot-dns-cloudflare
pip install --upgrade pyOpenSSL cryptography certbot certbot-dns-cloudflare

Most letétbe helyezzük a korábban generált API tokent:

mkdir -p ~/.secrets/certbot
nano ~/.secrets/certbot/cloudflare.ini
dns_cloudflare_api_token = YOUR_CLOUDFLARE_API_TOKEN_WITH_EDIT_ZONE_DNS_PERMISSIONS
chmod 600 ~/.secrets/certbot/cloudflare.ini

Végül igazolást kérünk:

certbot certonly \
  --dns-cloudflare \
  --dns-cloudflare-credentials ~/.secrets/certbot/cloudflare.ini \
  --dns-cloudflare-propagation-seconds 60 \
  -d '*.vielhuber.dev' -d vielhuber.dev \
  --agree-tos \
  --email david@vielhuber.de \
  --non-interactive

Az automatikus megújítás is gyorsan beállítható. Annak megakadályozása érdekében, hogy a certbot 12 óránként véletlenszerűen fusson automatikusan, először deaktiváljuk a szabványos szkriptet, és hozzáadjuk a saját szkriptünket.:

sudo mv /etc/cron.d/certbot /etc/cron.d/certbot.disabled
( crontab -l 2>/dev/null; echo "0 12 * * * certbot renew --quiet" ) | crontab -
certbot renew --dry-run

Csak ennyire van szükség: Az Apache-ba való integráláshoz hivatkozzon azokra a tanúsítványokra, amelyeket most hozott létre az Apache konfigurációjában a projektekben (pl. /etc/apache2/sites-available/project-xy.conf):

SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/vielhuber.dev/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/vielhuber.dev/privkey.pem

Apache újraindítás után (sudo systemctl reload apache2) a tanúsítványok ekkor már aktívak, és ezzel elérheti projektjeit https://project-xy.vielhuber.dev.

Egy kis kezdeti erőfeszítéssel olyan helyi fejlesztői környezetet hozhat létre valódi helyettesítő karaktertanúsítványokkal, amely nem csak valósághű, hanem zökkenőmentesen működik a modern böngészőkkel, API-kkal és eszközökkel. A DNS-01 ellenőrzésnek köszönhetően nincs szüksége nyilvánosan elérhető szerverre vagy manuális tanúsítványkérésekre – minden automatizált, biztonságos és megbízható.

Vissza