În vremurile de browsere numai HTTPS, cookie-uri SameSite și condiții de dezvoltare realiste, este important să lucrați local cu certificate SSL reale. Let's Encrypt a făcut o muncă de pionierat aici – cu ajutorul certbot și Cloudflare, crearea și reînnoirea certificatelor wildcard este rapidă și ușoară. Acest lucru vă permite să accesați proiectele dvs. web criptate pe orice dispozitiv (smartphone, VM, ...) în rețeaua locală sau prin VPN.
Mai întâi înregistrăm un domeniu de dezvoltator la Cloudflare, de exemplu vielhuber.dev
:

Lăsăm acum acest domeniu să indice propria sa adresă IP locală (de exemplu 192.168.0.2
) arată. Pentru a face acest lucru, creați următoarele înregistrări DNS A (important: starea proxy-ului trebuie să fie setată la gri/doar DNS fi setat):
Tip | Nume | Cuprins |
---|---|---|
O | @ | 192.168.0.2 |
O | * | 192.168.0.2 |
Pentru a valida certificatele wildcard, este necesar să setați automat înregistrările TXT. Pentru a face acest lucru, acum creăm un token API (Profil > Jetoane API > Creare simbol > Șablon: Editați DNS zonă) și selectați domeniul:

În cele din urmă, am configurat certbot:
sudo apt install certbot python3-certbot-dns-cloudflare
pip install --upgrade pyOpenSSL cryptography certbot certbot-dns-cloudflare
Acum depunem jetonul API generat anterior:
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
În cele din urmă, solicităm un certificat:
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
Reînnoirea automată este, de asemenea, configurată rapid. Pentru a preveni rularea automată a certbot la fiecare 12 ore cu un timp aleatoriu, mai întâi dezactivăm scriptul standard și adăugăm propriul nostru:
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
Acesta este tot ce este necesar: pentru a vă integra în Apache, vă referiți la certificatele pe care tocmai le-ați creat în configurația Apache în proiectele dvs. (de ex. /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
După o repornire Apache (sudo systemctl reload apache2
) certificatele sunt atunci deja active și vă puteți accesa proiectele cu https://project-xy.vielhuber.dev.
Cu puțin efort inițial, puteți construi un mediu de dezvoltare locală cu certificate wildcard reale, care nu numai că sunt realiste, ci și funcționează perfect cu browsere, API-uri și dispozitive moderne. Datorită verificării DNS-01, nu aveți nevoie de un server accesibil public sau de cereri manuale de certificat - totul este automat, sigur și de încredere.