🔐Ubuntu 20.04 da Let's Encrypt yordamida Apache-ni qanday himoyalash mumkin
// Qo'llanma //
Kirish
Let's Encrypt - bu bepul TLS/SSL sertifikatlarini olish va o'rnatishni osonlashtiradigan va shu bilan veb-serverlarda shifrlangan HTTPS-ni yoqadigan sertifikat organi (CA). Bu talab qilinadigan qadamlarning ko'pini (agar hammasi bo'lmasa ham) avtomatlashtirishga harakat qiladigan Certbot dasturiy mijozini taqdim etish orqali jarayonni soddalashtiradi. Hozirgi vaqtda sertifikat olish va o'rnatishning butun jarayoni ham Apache, ham Nginx-da to'liq avtomatlashtirilgan.
Ushbu qo'llanmada biz Ubuntu 20.04 da Apache uchun bepul SSL sertifikatini olish uchun Certbot -dan foydalanamiz va bu sertifikat avtomatik ravishda yangilanadigan qilib sozlanganligiga ishonch hosil qilamiz.
Ushbu qo'llanmada Let's Encrypt tomonidan himoyalanadigan veb-saytni sozlash uchun Apache standart konfiguratsiya fayli o'rniga alohida virtual xost faylidan foydalaniladi. Serverda joylashgan har bir domen uchun yangi Apache virtual xost fayllarini yaratishni tavsiya qilamiz , chunki bu keng tarqalgan xatolardan qochishga yordam beradi va standart konfiguratsiya fayllarini zaxira o'rnatish sifatida saqlaydi.
Shartlar
Ushbu qo'llanmani bajarish uchun sizga kerak bo'ladi:
Bitta Ubuntu 20.04 serveri Ubuntu 20.04 oʻquv qoʻllanmasi uchun ushbu dastlabki server sozlamalariga rioya qilish orqali oʻrnatildi , jumladan sudo root boʻlmagan foydalanuvchi va xavfsizlik devori.
To'liq ro'yxatdan o'tgan domen nomi. Ushbu qoʻllanmada sizning_domeningizdan namuna sifatida foydalaniladi. Siz Namecheap -da domen nomini sotib olishingiz, Freenom -da bepul olishingiz yoki o'zingiz tanlagan domen registratoridan foydalanishingiz mumkin.
Quyidagi ikkala DNS yozuvlari serveringiz uchun o'rnatilgan. Siz ularni qanday qo'shish haqida batafsil ma'lumot olish uchun DigitalOcean DNS-ga kirishni kuzatishingiz mumkin.
your_domain
Serveringizning umumiy IP manziliga ishora qiluvchi A yozuvi .Serveringizning umumiy IP manziliga ishora qiluvchi A yozuvi .
www.
your_domain
Apache Ubuntu 20.04-da Apache-ni qanday o'rnatish bo'yicha quyidagi orqali o'rnatildi . Domeningiz uchun virtual xost fayli mavjudligiga ishonch hosil qiling. Ushbu qo'llanma misol sifatida ishlatiladi.
/etc/apache2/sites-available/
your_domain
.conf
1-qadam - Certbotni o'rnatish
Let's Encrypt bilan SSL sertifikatini olish uchun avvalo serveringizga Certbot dasturini o'rnatishimiz kerak bo'ladi. Buning uchun standart Ubuntu paketi omborlaridan foydalanamiz.
Bizga ikkita paket kerak: certbot
, va python3-certbot-apache
. Ikkinchisi Certbot-ni Apache bilan birlashtirgan plagin bo'lib, bitta buyruq bilan sertifikat olishni va veb-serveringizda HTTPS-ni sozlashni avtomatlashtirish imkonini beradi.
O'rnatishni tasdiqlash so'raladi Y
, keyin ni bosing ENTER
.
Certbot endi serveringizga o'rnatildi. Keyingi bosqichda virtual xostingiz toʻgʻri oʻrnatilganligiga ishonch hosil qilish uchun Apache konfiguratsiyasini tekshiramiz. Bu certbot
mijoz skripti sizning domenlaringizni aniqlay olishini va yangi yaratilgan SSL sertifikatingizdan avtomatik ravishda foydalanish uchun veb-serveringizni qayta sozlashini ta'minlaydi.
2-qadam - Apache virtual xost konfiguratsiyasini tekshirish
Veb-serveringiz uchun SSL-ni avtomatik ravishda olish va sozlash imkoniyatiga ega bo'lish uchun Certbot sizning Apache konfiguratsiya fayllaringiz ichida to'g'ri virtual xostni topishi kerak. Sizning server domen nomingiz(lar) ingiz konfiguratsiya blokida belgilangan ServerName
va direktivalaridan olinadi.ServerAliasVirtualHost
Agar siz Apache oʻrnatish boʻyicha qoʻllanmada virtual xostni oʻrnatish bosqichiga amal qilgan boʻlsangiz, domeningiz uchun VirtualHost blokiga ega boʻlishingiz va tegishli ravishda oʻrnatilgan koʻrsatmalarga ega boʻlishingiz kerak./etc/apache2/sites-available/
your_domain
.confServerNameServerAlias
Buni tekshirish uchun domeningiz uchun virtual xost faylini nano
yoki siz tanlagan matn muharriri yordamida oching:
ServerName
Mavjud va ServerAlias
qatorlarni toping . Ular shunday ko'rinishi kerak:
Agar sizda allaqachon mavjud bo'lsa ServerName
va ServerAlias
shunday sozlangan bo'lsa, matn muharriridan chiqib, keyingi bosqichga o'tishingiz mumkin. dan foydalanayotgan bo'lsangiz , tasdiqlash uchun , keyin va nano
tugmalarini terish orqali chiqishingiz mumkin .CTRL+XYENTER
Agar joriy virtual xost konfiguratsiyasi misolga mos kelmasa, uni mos ravishda yangilang. Ishingiz tugagach, faylni saqlang va tahrirlovchidan chiqing. Keyin o'zgarishlarni tasdiqlash uchun quyidagi buyruqni bajaring:
Syntax OK
Javob sifatida siz javob olishingiz kerak . Xatoga duch kelsangiz, virtual xost faylini qayta oching va matn terish xatosi yoki etishmayotgan belgilarni tekshiring. Konfiguratsiya faylingiz sintaksisi to'g'ri bo'lsa, o'zgarishlar kuchga kirishi uchun Apache-ni qayta yuklang:
Ushbu o'zgarishlar bilan Certbot to'g'ri VirtualHost blokini topishi va uni yangilashi mumkin bo'ladi.
Keyinchalik, HTTPS trafigiga ruxsat berish uchun xavfsizlik devorini yangilaymiz.
3-qadam - Xavfsizlik devori orqali HTTPS-ga ruxsat berish
Agar sizda UFW xavfsizlik devori yoqilgan bo'lsa, zarur qo'llanmalar tavsiya qilganidek, HTTPS trafikiga ruxsat berish uchun sozlamalarni o'zgartirishingiz kerak bo'ladi. O'rnatishdan so'ng, Apache bir nechta turli UFW dastur profillarini ro'yxatdan o'tkazadi. Biz serveringizda HTTP va HTTPS trafigiga ruxsat berish uchun Apache Full profilidan foydalanishimiz mumkin.
Hozirda serveringizda qanday trafikka ruxsat berilganligini tekshirish uchun siz quyidagilarni foydalanishingiz mumkin:
Agar siz Apache oʻrnatish qoʻllanmalarimizdan biriga amal qilgan boʻlsangiz, chiqishingiz shunday koʻrinishi kerak, yaʼni 80
hozirda portda faqat HTTP trafigiga ruxsat berilgan:
HTTPS trafigiga qoʻshimcha ruxsat berish uchun “Apache Full” profiliga ruxsat bering va ortiqcha “Apache” profilini oʻchiring:
Sizning holatingiz endi shunday ko'rinadi:
Endi siz Certbotni ishga tushirishga va sertifikatlaringizni olishga tayyorsiz.
4-qadam - SSL sertifikatini olish
Certbot plaginlar orqali SSL sertifikatlarini olishning turli usullarini taqdim etadi. Apache plagini Apache-ni qayta sozlash va kerak bo'lganda konfiguratsiyani qayta yuklash bilan shug'ullanadi. Ushbu plagindan foydalanish uchun quyidagilarni kiriting:
Ushbu skript sizni SSL sertifikatingizni sozlash uchun bir qator savollarga javob berishni taklif qiladi. Birinchidan, u sizdan to'g'ri elektron pochta manzilini so'raydi. Bu e-pochta yangilash bildirishnomalari va xavfsizlik bildirishnomalari uchun ishlatiladi:
Yaroqli elektron pochta manzilini kiritganingizdan so'ng ENTER
, keyingi bosqichga o'tish uchun bosing. Shundan so‘ng sizdan Let's Encrypt xizmat shartlariga roziligingizni tasdiqlash so‘raladi. Siz tugmani bosib tasdiqlashingiz mumkin A
va keyin ENTER
:
Keyin sizdan yangiliklar va boshqa maʼlumotlarni olish uchun elektron pochtangizni Electronic Frontier Foundation bilan baham koʻrishni xohlaysizmi, deb soʻraladi. Agar ularning mazmuniga obuna bo'lishni xohlamasangiz, yozing N
. Aks holda, yozing Y
. Keyin, ENTER
keyingi bosqichga o'tish uchun bosing.
Keyingi qadam sizdan Certbot-ga HTTPS-ni qaysi domenlar uchun faollashtirmoqchi ekanligingizni bildirishingizni taklif qiladi. ServerName
Ro'yxatda keltirilgan domen nomlari avtomatik ravishda Apache virtual xost konfiguratsiyasidan olinadi, shuning uchun virtual xostingizda to'g'ri va ServerAlias
sozlamalar sozlanganligiga ishonch hosil qilish muhimdir . Agar roʻyxatdagi barcha domen nomlari uchun HTTPS-ni yoqmoqchi boʻlsangiz (tavsiya etiladi), soʻrovni boʻsh qoldirib, ENTER
davom etish uchun bosing. Aks holda, vergul va/yoki boʻshliqlar bilan ajratilgan har bir tegishli raqamni roʻyxatlash orqali HTTPS-ni yoqmoqchi boʻlgan domenlarni tanlang, soʻng tugmasini bosing ENTER
.
Siz shunday chiqishni ko'rasiz:
Keyinchalik, sizdan HTTP trafigini HTTPSga yo'naltirishni xohlaysizmi yoki yo'qligini tanlashingiz so'raladi. Amalda, bu shuni anglatadiki, kimdir shifrlanmagan kanallar (HTTP) orqali veb-saytingizga tashrif buyursa, ular avtomatik ravishda veb-saytingizning HTTPS manziliga yo'naltiriladi. 2
Qayta yo'naltirishni yoqishni tanlang yoki 1
HTTP va HTTPS-ni veb-saytingizga kirishning alohida usullari sifatida saqlamoqchi bo'lsangiz.
Ushbu bosqichdan so'ng, Certbot konfiguratsiyasi tugallanadi va sizga yangi sertifikatingiz, yaratilgan fayllarni qayerda joylashtirish va sertifikatingizning haqiqiyligini tahlil qiluvchi tashqi vosita yordamida konfiguratsiyangizni qanday tekshirish haqida yakuniy izohlar taqdim etiladi:
Sizning sertifikatingiz endi o'rnatildi va Apache konfiguratsiyasiga yuklandi. https://
Brauzeringiz xavfsizlik indikatoridan foydalanib veb-saytingizni qayta yuklashga harakat qiling . Shuni ta'kidlash kerakki, sizning saytingiz to'g'ri himoyalangan, odatda manzil satriga qulf belgisini qo'shish orqali.
Sertifikat bahosini tekshirish va tashqi xizmat nuqtai nazaridan u haqida batafsil ma'lumot olish uchun SSL Labs Server Testidan foydalanishingiz mumkin .
Keyingi va oxirgi bosqichda biz Certbot-ning avtomatik yangilanish xususiyatini sinab ko'ramiz, bu sizning sertifikatingiz amal qilish muddati tugagunga qadar avtomatik ravishda yangilanishini kafolatlaydi.
5-qadam — Certbotning avtomatik yangilanishini tekshirish
Let's Encrypt sertifikatlari faqat to'qson kun davomida amal qiladi. Bu foydalanuvchilarni sertifikatni yangilash jarayonini avtomatlashtirishga undash, shuningdek, noto‘g‘ri foydalanilgan sertifikatlar yoki o‘g‘irlangan kalitlarning muddati tezroq tugashini ta’minlash uchundir.
Biz certbot
o'rnatgan paket yangilanish skriptini qo'shish orqali yangilanishlar bilan shug'ullanadi, bu xizmat /etc/cron.d
tomonidan boshqariladi . Ushbu skript kuniga ikki marta ishlaydi va muddati tugaganidan keyin o'ttiz kun ichida bo'lgan har qanday sertifikat avtomatik ravishda yangilanadi.systemctlcertbot.timer
Ushbu xizmatning holatini tekshirish va uning faol va ishlayotganligiga ishonch hosil qilish uchun siz quyidagilarni foydalanishingiz mumkin:
Siz shunga o'xshash natijani olasiz:
Yangilash jarayonini sinab ko'rish uchun siz quyidagi bilan quruq ishga tushirishingiz mumkin certbot
:
Hech qanday xato ko'rmasangiz, hamma narsa tayyor. Zarur bo'lganda, Certbot sertifikatlaringizni yangilaydi va o'zgarishlarni qabul qilish uchun Apache-ni qayta yuklaydi. Agar avtomatik yangilash jarayoni muvaffaqiyatsiz tugasa, Let's Encrypt siz ko'rsatgan elektron pochta manziliga sertifikatning amal qilish muddati tugashi haqida ogohlantiruvchi xabar yuboradi.
Xulosa
Ushbu qo'llanmada siz Let's Encrypt mijozini certbot
o'rnatdingiz, domeningiz uchun SSL sertifikatini sozladingiz va o'rnatdingiz hamda Certbotning avtomatik yangilash xizmati ichida faol ekanligini tasdiqladingiz systemctl
. Certbot-dan foydalanish bo'yicha qo'shimcha savollaringiz bo'lsa, ularning hujjatlari boshlash uchun yaxshi joy.
Last updated