
Ubuntu 24.04 server qurduqdan sonra Nginx ilə sayt açmaq başlanğıcdır, amma saytın həqiqətən etibarlı görünməsi üçün növbəti vacib addım HTTPS qurmaqdır. Bu iş üçün ən praktik və geniş istifadə olunan həllərdən biri Let’s Encrypt + Certbot birləşməsidir.
Bu məqalədə Ubuntu 24.04-də Nginx üçün SSL sertifikatının necə qurulduğunu, HTTP-dən HTTPS-ə keçidin necə edildiyini, avtomatik yenilənmənin necə işlədiyini və ən çox rast gəlinən problemlərin necə həll olunduğunu addım-addım göstərəcəyəm.
Bu tutorial kim üçündür?
- Nginx ilə sayt qaldırmış Ubuntu 24.04 istifadəçiləri
- Domain-i aktiv olan və saytı artıq HTTP ilə açılanlar
- Let’s Encrypt ilə pulsuz SSL qurmaq istəyənlər
- HTTPS redirect və auto-renew məntiqini düzgün qurmaq istəyənlər
Bu tutorial-da nə öyrənəcəksiniz?
- Certbot nədir və niyə istifadə olunur
- Nginx üçün Certbot necə quraşdırılır
- Domain və firewall tələbləri nədir
- SSL sertifikatı necə alınır
- HTTPS redirect necə aktiv olunur
- Auto-renew necə yoxlanılır
- Ən çox rast gəlinən xətalar necə həll olunur
Certbot nədir?
Certbot, Let’s Encrypt sertifikatlarını almaq və yeniləmək üçün istifadə olunan açıq mənbəli vasitədir. Nginx ilə birlikdə işlədikdə, çox vaxt sertifikat almaqla yanaşı server konfiqurasiyasını da avtomatik tənzimləyə bilir.
Praktik olaraq bunun üstünlükləri bunlardır:
- pulsuz SSL
- tez quraşdırma
- HTTPS redirect avtomatlaşdırılması
- yenilənmənin avtomatik idarəsi
Başlamazdan əvvəl nələr hazır olmalıdır?
- Ubuntu 24.04 server
- Nginx artıq quraşdırılmış və işlək olmalıdır
- Domain server IP-yə yönləndirilməlidir
- HTTP üzərindən sayt açılmalıdır
- UFW və ya provider firewall-da 80 və 443 portları açıq olmalıdır
Vacib qeyd: Əgər domain hələ düzgün resolve olmursa və ya port 80 blokdadırsa, Certbot çox vaxt təsdiqləmə mərhələsində uğursuz olacaq.
Addım 1: Nginx-in işlədiyini yoxlayın
sudo systemctl status nginx
Saytınızı HTTP ilə yoxlayın:
curl -I http://example.com
Əgər cavab gəlirsə, əsas baza hazırdır.
Addım 2: Firewall portlarını açın
UFW istifadə edirsinizsə:
sudo ufw allow 'Nginx Full'
sudo ufw status
Bu həm 80, həm də 443 portlarını açır. Əgər provider tərəfində ayrıca firewall varsa, orada da eyni portlar açıq olmalıdır.
Addım 3: Certbot quraşdırın
Ubuntu-da ən praktik üsul:
sudo apt update
sudo apt install certbot python3-certbot-nginx -y
Bu əmrdən sonra Certbot və Nginx plugin hazır olacaq.
Addım 4: Nginx server_name düzgün yazılıbsa onu yoxlayın
Nginx site config faylında domain düzgün göstərilməlidir:
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
root /var/www/example-site;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Sonra konfiqurasiyanı test edin:
sudo nginx -t
Düzgündürsə reload edin:
sudo systemctl reload nginx
Addım 5: SSL sertifikatı alın
İndi Certbot-u Nginx plugin ilə işə salın:
sudo certbot --nginx -d example.com -d www.example.com
Bu proses zamanı sizdən email, istifadə şərtləri və redirect seçimi soruşula bilər.
Adətən Certbot sizə belə bir seçim verəcək:
- yalnız sertifikat quraşdırmaq
- HTTP-ni avtomatik HTTPS-ə redirect etmək
Praktik hallarda ikinci seçim daha doğrudur.
Addım 6: HTTPS-i yoxlayın
Quraşdırmadan sonra saytı açın:
curl -I https://example.com
Əlavə olaraq brauzerdə domeni açın və kilid işarəsini yoxlayın.
HTTP redirect-i yoxlamaq üçün:
curl -I http://example.com
Burada 301 və ya 308 redirect görməlisiniz.
Addım 7: Auto-renew işləyir?
Let’s Encrypt sertifikatları daimi deyil, müəyyən müddət üçün verilir. Ona görə auto-renew vacibdir. Test edin:
sudo certbot renew --dry-run
Əgər test uğurla keçirsə, yenilənmə mexanizmi ümumiyyətlə düzgündür.
Certbot Nginx konfiqurasiyasında nə dəyişir?
Adətən Certbot:
- 443 üçün SSL blokları əlavə edir
- sertifikat yolunu config-ə yazır
- istəsəniz HTTP redirect əlavə edir
Buna görə sertifikatdan sonra Nginx site config-ə yenidən baxmaq faydalıdır.
Ən çox rast gəlinən problemlər
1. Domain doğrulanmır
Adətən səbəblər bunlardır:
- DNS hələ propagasiya olmayıb
- domain səhv IP-yə gedir
- port 80 bağlıdır
- Nginx həmin domain üçün düzgün cavab vermir
2. Certbot Nginx config-i tapa bilmir
Bu, çox vaxt server_name düzgün yazılmayanda olur. Config-də domain uyğun olmalıdır.
3. HTTPS işləyir, amma HTTP redirect işləmir
Bu halda Nginx config-də redirect blokunu ayrıca yoxlayın və Certbot seçimində redirect aktiv edildiyini təsdiqləyin.
4. Renewal test uğursuz olur
Bu, adətən firewall, DNS və ya köhnə config problemi olur. sudo certbot renew --dry-run çıxışına baxıb səbəbi tapmaq lazımdır.
Təhlükəsizlik və praktik tövsiyələr
- HTTP-ni boş saxlama, HTTPS-ə redirect et
- yalnız real domain-lər üçün sertifikat al
- Nginx config dəyişəndə həmişə
nginx -tilə test et - yenilənmə testini vaxtaşırı yoxla
- sonrakı mərhələdə security header-ləri də əlavə et
Nəticə
Ubuntu 24.04-də Nginx üçün Let’s Encrypt SSL qurmaq həm təhlükəsizlik, həm etibar, həm də brauzer uyğunluğu üçün vacib addımdır. Əgər saytınız artıq HTTP ilə işləyirsə, Certbot bu keçidi kifayət qədər rahat edir. Əsas məsələ domain, firewall və Nginx bazasının düzgün hazırlanmasıdır.
Bu mərhələdən sonra növbəti məntiqli addım Nginx security headers, HSTS və ya reverse proxy ilə app deploy mövzularıdır.