Semasa pelayar HTTPS sahaja, kuki SameSite dan keadaan pembangunan yang realistik, adalah penting untuk bekerja secara tempatan dengan sijil SSL sebenar. Let's Encrypt telah melakukan kerja perintis di sini – dengan bantuan certbot dan Cloudflare , mencipta dan memperbaharui sijil kad bebas adalah pantas dan mudah. Ini membolehkan anda mengakses projek web anda yang disulitkan pada mana-mana peranti (telefon pintar, VM, ...) dalam rangkaian tempatan atau melalui VPN.
Kami mula-mula mendaftarkan domain pembangun dengan Cloudflare, sebagai contoh vielhuber.dev
:

Kami kini membiarkan domain ini menunjuk ke alamat IP tempatannya sendiri (contohnya 192.168.0.2
) menunjukkan. Untuk melakukan ini, cipta rekod DNS A berikut (penting: Status proksi mesti ditetapkan kepada kelabu/DNS sahaja ditetapkan):
Taip | Nama | Kandungan |
---|---|---|
A | @ | 192.168.0.2 |
A | * | 192.168.0.2 |
Untuk mengesahkan sijil kad bebas, anda perlu menetapkan rekod TXT secara automatik. Untuk melakukan ini, kami kini mencipta token API (Profil > Token API > Cipta Token > Templat: Edit zon DNS) dan pilih domain:

Akhirnya, kami menyediakan certbot:
sudo apt install certbot python3-certbot-dns-cloudflare
pip install --upgrade pyOpenSSL cryptography certbot certbot-dns-cloudflare
Sekarang kami mendepositkan token API yang dijana sebelum ini:
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
Akhirnya, kami meminta sijil:
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
Pembaharuan automatik juga disediakan dengan cepat. Untuk mengelakkan certbot daripada berjalan secara automatik setiap 12 jam dengan masa rawak, kami mula-mula menyahaktifkan skrip standard dan menambah skrip kami sendiri:
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
Ini sahaja yang diperlukan: Untuk menyepadukan ke dalam Apache, anda merujuk kepada sijil yang baru anda buat dalam konfigurasi Apache dalam projek anda (cth. /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
Selepas Apache dimulakan semula (sudo systemctl reload apache2
) sijil kemudiannya sudah aktif dan anda boleh mengakses projek anda dengan https://project-xy.vielhuber.dev.
Dengan sedikit usaha awal, anda boleh membina persekitaran pembangunan setempat dengan sijil kad bebas sebenar yang bukan sahaja realistik tetapi juga berfungsi dengan lancar dengan penyemak imbas, API dan peranti moden. Terima kasih kepada pengesahan DNS-01, anda tidak memerlukan pelayan yang boleh diakses secara umum atau permintaan sijil manual – semuanya adalah automatik, selamat dan boleh dipercayai.