Məqalələr kataloqu
Let's Encrypt proqramına necə müraciət etmək olar?
Gəlin SSL Sertifikat Prinsipini və Quraşdırma Təlimatını Şifrələyək
SSL nədir? Çen Veylianq bu barədə əvvəlki məqaləsində, " HTTP və HTTPS arasındakı fərq nədir? SSL şifrələmə prosesinin ətraflı izahı "nda müzakirə etmişdir.
Qabaqcıl şifrələnmiş SSL sertifikatları almalı olan elektron ticarət veb saytlarından başqa , WeChat rəsmi hesablarını tanıtmaq üçün veb saytlardan istifadə edən yeni media mütəxəssisləri əslində pulsuz şifrələnmiş SSL sertifikatları quraşdıra bilərlər. Bu, SEO -ya kömək edə və veb saytın axtarış motorlarında açar söz sıralamasını yaxşılaşdıra bilər.

Let's Encrypt-in öz iş axını var ( https://certbot.eff.org/ ). Linux istifadəçiləri həmin iş axınına müraciət edə və bu təlimatı izləyə bilərlər.
Əvvəlcə certbot-auto alətini endirin, sonra alətin quraşdırma asılılıqlarını işə salın.
wget https://dl.eff.org/certbot-auto --no-check-certificate chmod +x ./certbot-auto ./certbot-auto -n
SSL sertifikatı yaradın
Növbəti nümunə olaraq, Chen Weiliang-ın blog domen adını götürərək , xahiş edirik onu öz ehtiyaclarınıza uyğun olaraq dəyişdirin və SSH vasitəsilə aşağıdakı əmri işlədin.
Əmri dəyişdirdiyinizə əmin olun:
- Poçt qutusu
- server yolu
- veb saytın domen adı
Tək domen tək kataloq, sertifikat yaradın:
./certbot-auto certonly --email [email protected] --agree-tos --no-eff-email --webroot -w /home/admin/web/chenweiliang.com/public_html -d www.chenweiliang.com
Çoxdomenli tək kataloq, sertifikat yaradın: (yəni, birdən çox domen adı, tək kataloq, eyni sertifikatdan istifadə edin)
./certbot-auto certonly --email [email protected] --agree-tos --no-eff-email --webroot -w /home/admin/web/chenweiliang.com/public_html -d www.chenweiliang.com -d img.chenweiliang.com
Yaradılmış SSL sertifikatı aşağıdakılarda saxlanılacaq:/etc/letsencrypt/live/www.chenweiliang.com/ Məzmun altında.
Çoxlu domen adları və çoxsaylı kataloqlar, sertifikat yaradın: (yəni, birdən çox domen adı, birdən çox kataloq, eyni sertifikatdan istifadə edin)
./certbot-auto certonly --email [email protected] --agree-tos --no-eff-email --webroot -w /home/admin/web/chenweiliang.com/public_html -d www.chenweiliang.com -d img.chenweiliang.com -w /home/eloha/public_html/site/etufo.org -d www.etufo.org -d img.etufo.org
Let's Encrypt sertifikatı uğurla quraşdırıldıqdan sonra SSH-də aşağıdakı xəbərdarlıq mesajı görünəcək:
Vacib NOTLAR:
– Təbrik edirik, sertifikatınız və chain saxlanıldı:
/etc/letsencrypt/live/www.chenweiliang.com/fullchain.pem
Açar faylınız burada saxlanılıb:
/etc/letsencrypt/live/www.chenweiliang.com/privkey.pem
Sertifikatınızın müddəti 2018-02-26 tarixində bitəcək. Yeni və ya düzəldilmiş sertifikat əldə etmək üçün
gələcəkdə bu sertifikatın versiyası, sadəcə olaraq certbot-auto-nu işə salın
Sertifikatlarınızı *bütün* qeyri-interaktiv şəkildə yeniləmək üçün işə salın
"certbot-avtomatik yeniləmə"
- Certbot-u sevirsinizsə, zəhmət olmasa işimizi dəstəkləyin:
ISRG / Let's Encrypt-ə ianə: https://letsencrypt.org/donate
EFF-ə ianə: https://eff.org/donate-le
SSL Sertifikatının Yenilənməsi
Sertifikatın yenilənməsi də çox rahatdır, çünki avtomatik yeniləmə üçün crontab istifadə olunur . Crontab quraşdırılmamış bəzi Debian versiyaları üçün əvvəlcə onu əl ilə quraşdıra bilərsiniz.
apt-get install cron
Nginx və apache üçün aşağıdakı əmrlər /etc/crontab faylına daxil edilir, yəni onlar hər 10 gündən bir yenilənir və 90 günlük etibarlılıq müddəti kifayətdir.
Nginx crontab faylına əlavə edin:
0 3 */10 * * /root/certbot-auto renew --renew-hook "/etc/init.d/nginx reload"
Apache crontab faylına əlavə edin:
0 3 */10 * * /root/certbot-auto renew --renew-hook "service httpd restart"
SSL sertifikatı Apache konfiqurasiyası
İndi Apache konfiqurasiyasında dəyişikliklər etməliyik.
Göstərişlər:
- istifadə etsənizCWP İdarəetmə Paneli, Domen adı əlavə et yoxlamasında Avtomatik olaraq SSL sertifikatı yaradın, o, avtomatik olaraq Apache üçün SSL sertifikatını konfiqurasiya edəcək.
- Aşağıdakı addımlardan daha çoxunu etsəniz, Apache-ni yenidən başlatdıqdan sonra xəta baş verə bilər.
- Səhv olarsa, əl ilə əlavə etdiyiniz konfiqurasiyanı silin.
httpd.conf faylını redaktə edin ▼
/usr/local/apache/conf/httpd.conf
▼ tapın
Listen 443
- (əvvəlki şərh nömrəsini çıxarın)
və ya dinləmə portu 443 ▼ əlavə edin
Listen 443
SSH Apache dinləmə portunu yoxlayın ▼
grep ^Listen /usr/local/apache/conf/httpd.conf
▼ tapın
mod_ssl
- (əvvəlki şərh nömrəsini çıxarın)
və ya ▼ əlavə edin
LoadModule ssl_module modules/mod_ssl.so
▼ tapın
httpd-ssl
- (əvvəlki şərh nömrəsini çıxarın)
Sonra, SSH aşağıdakı əmri yerinə yetirin (yolunuzu özünüzə dəyişdirmək üçün qeyd edin):
at >/usr/local/apache/conf/extra/httpd-ssl.conf<<EOF Listen 443 AddType application/x-x509-ca-cert .crt AddType application/x-pkcs7-crl .crl SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH SSLProxyCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH SSLHonorCipherOrder on SSLProtocol all -SSLv2 -SSLv3 SSLProxyProtocol all -SSLv2 -SSLv3 SSLPassPhraseDialog builtin SSLSessionCache "shmcb:/usr/local/apache/logs/ssl_scache(512000)" SSLSessionCacheTimeout 300 SSLMutex "file:/usr/local/apache/logs/ssl_mutex" EOF
Növbəti addım, yaratdığınız veb sayt üçün Apache konfiqurasiyasının sonunda, </VirtualHost> altında.
SSL bölməsinin konfiqurasiya faylını əlavə edin (şərhi silmək üçün qeyd edin və yolu özünüzə dəyişdirin):
<VirtualHost *:443> DocumentRoot /home/admin/web/chenweiliang.com/public_html //网站目录 ServerName www.chenweiliang.com:443 //域名 ServerAdmin [email protected] //邮箱 ErrorLog "/var/log/www.chenweiliang.com-error_log" //错误日志 CustomLog "/var/log/www.chenweiliang.com-access_log" common //访问日志 SSLEngine on SSLCertificateFile /etc/letsencrypt/live/www.chenweiliang.com/fullchain.pem //之前生成的证书 SSLCertificateKeyFile /etc/letsencrypt/live/www.chenweiliang.com/privkey.pem //之前生成的密钥 <Directory "/home/admin/web/chenweiliang.com/public_html"> //网站目录 SetOutputFilter DEFLATE Options FollowSymLinks AllowOverride All suPHP_UserGroup eloha eloha //用户组(有些服务器配置需要,有些可能不需要,出错请删除此行) Order allow,deny Allow from all DirectoryIndex index.html index.phps </Directory> </VirtualHost>
Nəhayət, Apache-ni yenidən başladın:
service httpd restart
Apache HTTP-ni HTTPS-ə yönləndirməyə məcbur edir
- Bir çox veb sorğuları həmişə yalnız SSL ilə işləyə bilər.
- Biz əmin olmalıyıq ki, hər dəfə SSL-dən istifadə etdikdə vebsayta SSL vasitəsilə daxil olmaq lazımdır.
- Hər hansı bir istifadəçi SSL olmayan URL ilə vebsayta daxil olmağa çalışırsa, o, SSL veb saytına yönləndirilməlidir.
- Apache mod_rewrite modulundan istifadə edərək SSL URL-yə yönləndirin.
- LAMP bir klik quraşdırma paketindən istifadə, SSL sertifikatının daxili avtomatik quraşdırılması və HTTPS-ə məcburi yönləndirmə, HTTPS-ə yönləndirmə kimiQüvvədə, HTTPS yönləndirməsi əlavə etmək lazım deyil.
Yönləndirmə qaydası əlavə edin
- Apache-nin konfiqurasiya faylında veb saytın virtual hostunu redaktə edin və aşağıdakı parametrləri əlavə edin.
- Eyni parametrləri .htaccess faylınızdakı vebsaytınızdakı sənəd kökünə də əlavə edə bilərsiniz.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]Yalnız HTTPS-ə yönləndirmək üçün müəyyən bir URL təyin etmək istəyirsinizsə:
RewriteEngine On RewriteRule ^message$ https://www.etufo.org/message [R=301,L]
- Kimsə daxil olmağa çalışırsa Mesaj , səhifə https-ə keçəcək və istifadəçi yalnız SSL ilə URL-ə daxil ola bilər.
.htaccess faylının qüvvəyə minməsi üçün Apache-ni yenidən başladın:
service httpd restart
注意 事项
- Yuxarıdakı e-poçt ünvanını e-poçt ünvanınıza dəyişdirin.
- Yuxarıdakı veb sayt domen adını veb saytınızın domen adına dəyişdirməyi unutmayın.
Yönləndirmə qaydası yeri problemi
Yönləndirmə qaydalarını psevdostatik qaydalar altına yerləşdirərkən, HTTP-nin bütün saytı HTTPS-ə yönləndirə bilməməsi problemi ilə tez-tez qarşılaşacaqsınız.
Əvvəlcə yönləndirmə kodunu .htaccess-ə köçürdük və o, aşağıdakı hallarda görünəcək ▼
![Yönləndirmə qaydası [L] yuxarıdadır. Yönləndirmə qaydası [L] yuxarıdadır.](https://img.chenweiliang.com/2018/03/https-rule-1.png)
- [L] cari qaydanın sonuncu qayda olduğunu göstərir, aşağıdakı yenidən yazma qaydalarını təhlil etməyi dayandırın.
- Beləliklə, yönləndirilmiş məqalə səhifəsinə daxil olduqda, [L] aşağıdakı qaydaları dayandırır, ona görə də yönləndirmə qaydaları işləmir.
HTTP ana səhifəsinə daxil olarkən, bütün saytın HTTP-dən HTTPS-ə yönləndirilməsi üçün URL yenidən yazma qaydalarını kənara qoyaraq URL yönləndirməsini tetiklemek istəyirik.
HTTPS yönləndirmə qaydalarını [L] qaydalarının altına qoymayın ; onları [L] qaydalarının üstünə qoyun. ▼
![Psevdostatik SSL yönləndirmə qaydaları [L] aşağıda verilmişdir. Psevdostatik SSL yönləndirmə qaydaları [L] aşağıda verilmişdir.](https://img.chenweiliang.com/2018/03/pseudo-static-ssl-jump.png)
Genişləndirilmiş oxu:
- Http ilə https arasındakı fərq nədir? SSL şifrələmə prosesinin ətraflı izahı
- CWP idarəetmə panelində Let's Encrypt SSL sertifikatını quraşdırdıqdan sonra 500 xətası alsam nə etməliyəm?
- www üst səviyyəli domen adı olmadan avtomatik olaraq ikinci səviyyəli domen adına keçin: kök domen adı 301 www yönləndirir
Ümid edirik ki, Chen Weiliang-ın bloqunda ( https://www.chenweiliang.com/ ) paylaşılan "Let's Encrypt üçün necə müraciət etməli? Let's Encrypt Pulsuz SSL Sertifikatlarının Prinsipləri və Quraşdırma Təlimatı" məqaləsi sizin üçün faydalı olacaq.
Bu məqalənin linkini paylaşmaqdan çəkinməyin: https://www.chenweiliang.com/cwl-512.html
