I tider med kun HTTPS-browsere, SameSite-cookies og realistiske udviklingsforhold er det vigtigt at arbejde lokalt med rigtige SSL-certifikater. Let's Encrypt har udført banebrydende arbejde her – ved hjælp af certbot og Cloudflare er det hurtigt og nemt at oprette og forny jokertegncertifikater. Dette giver dig adgang til dine webprojekter krypteret på enhver enhed (smartphone, VM, ...) i det lokale netværk eller via VPN.
Først registrerer vi et udviklerdomæne hos Cloudflare, f.eks vielhuber.dev
:

Vi lader nu dette domæne pege på sin egen lokale IP-adresse (f.eks 192.168.0.2
) vise. For at gøre dette skal du oprette følgende DNS A-poster (vigtigt: Proxystatus skal indstilles til grå/kun DNS være indstillet):
Type | Navn | Indhold |
---|---|---|
EN | @ | 192.168.0.2 |
EN | * | 192.168.0.2 |
For at validere wildcard-certifikaterne er det nødvendigt at indstille TXT-poster automatisk. For at gøre dette opretter vi nu et API-token (Profil > API-tokens > Opret token > Skabelon: Rediger zone-DNS) og vælger domænet:

Til sidst satte vi certbot op:
sudo apt install certbot python3-certbot-dns-cloudflare
pip install --upgrade pyOpenSSL cryptography certbot certbot-dns-cloudflare
Nu deponerer vi det tidligere genererede API-token:
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
Til sidst anmoder vi om et certifikat:
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
Automatisk fornyelse sættes også hurtigt op. For at forhindre certbot i at køre automatisk hver 12. time med et tilfældigt tidspunkt, deaktiverer vi først standardscriptet og tilføjer vores eget:
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
Dette er alt, hvad der er nødvendigt: For at integrere i Apache henviser du til de certifikater, du lige har oprettet i Apache-konfigurationen i dine projekter (f.eks. /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
Efter en Apache genstart (sudo systemctl reload apache2
) certifikaterne er så allerede aktive, og du kan få adgang til dine projekter med https://project-xy.vielhuber.dev.
Med en lille indledende indsats kan du bygge et lokalt udviklingsmiljø med rigtige wildcard-certifikater, der ikke kun er realistiske, men også fungerer problemfrit med moderne browsere, API'er og enheder. Takket være DNS-01-verifikation behøver du ikke en offentlig tilgængelig server eller manuelle certifikatanmodninger – alt er automatiseret, sikkert og pålideligt.