HTTPS гана браузерлер, SameSite кукилери жана реалдуу өнүгүү шарттарында чыныгы SSL сертификаттары менен жергиликтүү иштөө маанилүү. Let's Encrypt бул жерде пионердик иштерди аткарды – certbot жана Cloudflare жардамы менен жапайы белги сертификаттарын түзүү жана жаңыртуу тез жана оңой. Бул локалдык тармактагы же VPN аркылуу каалаган түзмөктө (смартфон, VM, ...) шифрленген веб долбоорлоруңузга кирүү мүмкүнчүлүгүн берет.
Биз, мисалы, алгач 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
Автоматтык жаңылоо да тез орнотулган. Сертботтун ар бир 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 текшерүүсүнө рахмат, сизге жалпыга жеткиликтүү сервердин же кол менен сертификат суроонун кереги жок – баары автоматташтырылган, коопсуз жана ишенимдүү.