Σε περιόδους προγραμμάτων περιήγησης μόνο HTTPS, cookie SameSite και ρεαλιστικών συνθηκών ανάπτυξης, είναι σημαντικό να εργάζεστε τοπικά με πραγματικά πιστοποιητικά SSL. Το Let's Encrypt έχει κάνει πρωτοποριακή δουλειά εδώ – με τη βοήθεια του certbot και του Cloudflare , η δημιουργία και η ανανέωση πιστοποιητικών μπαλαντέρ είναι γρήγορη και εύκολη. Αυτό σας επιτρέπει να έχετε πρόσβαση στα έργα σας στον ιστό κρυπτογραφημένα σε οποιαδήποτε συσκευή (smartphone, VM, ...) στο τοπικό δίκτυο ή μέσω VPN.
Καταχωρούμε πρώτα έναν τομέα προγραμματιστή με το Cloudflare, για παράδειγμα vielhuber.dev
:

Τώρα αφήνουμε αυτόν τον τομέα να δείχνει τη δική του τοπική διεύθυνση IP (για παράδειγμα 192.168.0.2
) δείχνουν. Για να το κάνετε αυτό, δημιουργήστε τις ακόλουθες εγγραφές DNS A (σημαντικό: Η κατάσταση του διακομιστή μεσολάβησης πρέπει να οριστεί σε γκρι/μόνο για DNS να οριστεί):
Τύπος | Όνομα | Περιεχόμενα |
---|---|---|
ΕΝΑ | @ | 192.168.0.2 |
ΕΝΑ | * | 192.168.0.2 |
Για την επικύρωση των πιστοποιητικών χαρακτήρων μπαλαντέρ, είναι απαραίτητο να ορίσετε αυτόματα τις εγγραφές TXT. Για να γίνει αυτό, δημιουργούμε τώρα ένα διακριτικό API (Προφίλ > Διακριτικά API > Δημιουργία διακριτικού > Πρότυπο: Επεξεργασία ζώνης DNS) και επιλέγουμε τον τομέα:

Τέλος, δημιουργήσαμε το certbot:
sudo apt install certbot python3-certbot-dns-cloudflare
pip install --upgrade pyOpenSSL cryptography certbot certbot-dns-cloudflare
Τώρα καταθέτουμε το διακριτικό API που δημιουργήθηκε προηγουμένως:
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
Τέλος, ζητάμε πιστοποιητικό:
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
Η αυτόματη ανανέωση ρυθμίζεται επίσης γρήγορα. Για να αποτρέψουμε την αυτόματη εκτέλεση του certbot κάθε 12 ώρες με τυχαίο χρόνο, πρώτα απενεργοποιούμε το τυπικό σενάριο και προσθέτουμε το δικό μας:
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
Αυτό είναι το μόνο που χρειάζεται: Για να ενσωματωθείτε στο Apache, ανατρέξτε στα πιστοποιητικά που μόλις δημιουργήσατε στη διαμόρφωση του Apache στα έργα σας (π.χ. /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 (sudo systemctl reload apache2
) τότε τα πιστοποιητικά είναι ήδη ενεργά και μπορείτε να αποκτήσετε πρόσβαση στα έργα σας https://project-xy.vielhuber.dev.
Με λίγη αρχική προσπάθεια, μπορείτε να δημιουργήσετε ένα περιβάλλον τοπικής ανάπτυξης με πραγματικά πιστοποιητικά χαρακτήρων μπαλαντέρ που δεν είναι μόνο ρεαλιστικό, αλλά λειτουργεί άψογα και με σύγχρονα προγράμματα περιήγησης, API και συσκευές. Χάρη στην επαλήθευση DNS-01, δεν χρειάζεστε διακομιστή με πρόσβαση στο κοινό ή μη αυτόματες αιτήσεις πιστοποιητικών – όλα είναι αυτοματοποιημένα, ασφαλή και αξιόπιστα.