Let's Encrypt'e Nasıl Başvurulur Let's Encrypt SSL Ücretsiz Sertifika İlkesi ve Kurulum Eğitimi

Let's Encrypt'e nasıl başvurulur?

Let's Encrypt SSL Sertifika Prensibi ve Kurulum Eğitimi

SSL nedir? Chen Weiliang, önceki makalesinde bu konuyu ele almıştı : " HTTP ve HTTPS arasındaki fark nedir? SSL şifreleme sürecinin ayrıntılı açıklaması ."

Gelişmiş şifreli SSL sertifikaları satın almak zorunda olan e-ticaret sitelerinin yanı sıra , WeChat resmi hesaplarını tanıtmak için web sitelerini kullanan yeni medya profesyonelleri de ücretsiz şifreli SSL sertifikaları yükleyebilirler. Bu, SEO'ya yardımcı olabilir ve web sitesinin arama motorlarındaki anahtar kelime sıralamasını iyileştirebilir.

Let's Encrypt'e Nasıl Başvurulur Let's Encrypt SSL Ücretsiz Sertifika İlkesi ve Kurulum Eğitimi

Let's Encrypt'in kendine ait bir iş akışı var ( https://certbot.eff.org/ ). Linux kullanıcıları bu iş akışına başvurabilir ve bu eğitim kılavuzunu takip edebilirler.

Önce certbot-auto aracını indirin, ardından aracın yükleme bağımlılıklarını çalıştırın.

wget https://dl.eff.org/certbot-auto --no-check-certificate
chmod +x ./certbot-auto
./certbot-auto -n

SSL sertifikası oluştur

Ardından, Chen Weiliang'ın blog alan adını örnek alarak, kendi ihtiyaçlarınıza göre değiştirin ve aşağıdaki komutu SSH üzerinden çalıştırın.

Komutu şurada değiştirdiğinizden emin olun:

  1. posta kutusu
  2. sunucu yolu
  3. web sitesi alan adı

Tek etki alanı tek dizin, bir sertifika oluşturun:

./certbot-auto certonly --email [email protected] --agree-tos --no-eff-email --webroot -w /home/admin/web/chenweiliang.com/public_html -d www.chenweiliang.com

Çok etki alanlı tek dizin, bir sertifika oluşturun: (yani, birden çok etki alanı adı, tek dizin, aynı sertifikayı kullanı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 -d img.chenweiliang.com

Oluşturulan SSL sertifikası şuraya kaydedilecektir:/etc/letsencrypt/live/www.chenweiliang.com/ İçindekiler altında.


Birden çok alan adı ve birden çok dizin, bir sertifika oluşturun: (yani, birden çok alan adı, birden çok dizin, aynı sertifikayı kullanı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 -d img.chenweiliang.com -w /home/eloha/public_html/site/etufo.org -d www.etufo.org -d img.etufo.org

Let's Encrypt sertifikası başarıyla yüklendikten sonra SSH istemi aşağıdaki gibi görünecektir:

ÖNEMLİ NOTLAR:
– Tebrikler!Sertifikanız ve ch'nizain şuraya kaydedildi:
/etc/letsencrypt/live/www.chenweiliang.com/fullchain.pem
Anahtar dosyanız şuraya kaydedildi:
/etc/letsencrypt/live/www.chenweiliang.com/privkey.pem
Sertifikanızın süresi 2018-02-26 tarihinde sona erecek. Yeni veya ince ayarlı bir sertifika almak için
gelecekte bu sertifikanın sürümü, sadece certbot-auto'yu çalıştırın
Sertifikalarınızın *tümünü* etkileşimli olmayan bir şekilde yenilemek için şunu çalıştırın:
"certbot-otomatik yenileme"
- Certbot'u seviyorsanız, lütfen çalışmalarımızı şu şekilde desteklemeyi düşünün:
ISRG / Let's Encrypt'e bağış yapmak için: https://letsencrypt.org/donate
EFF'ye bağış: https://eff.org/donate-le

SSL Sertifika Yenileme

Sertifika yenileme işlemi de crontab kullanarak otomatik yenileme ile oldukça kolaydır . Crontab kurulu olmayan bazı Debian sürümleri için önce manuel olarak kurabilirsiniz.

apt-get install cron

Nginx ve Apache için aşağıdaki komutlar /etc/crontab dosyasına girilir; bu da komutların her 10 günde bir yenileneceği ve 90 günlük bir geçerlilik süresinin yeterli olacağı anlamına gelir.

Nginx crontab dosyası, lütfen ekleyin:

0 3 */10 * * /root/certbot-auto renew --renew-hook "/etc/init.d/nginx reload"

Apache crontab dosyası, lütfen şunu ekleyin:

0 3 */10 * * /root/certbot-auto renew --renew-hook "service httpd restart"

SSL sertifikası Apache yapılandırması

Şimdi Apache yapılandırmasında değişiklik yapmamız gerekiyor.

İpuçları:

  • Eğer kullanırsanCWP Kontrol Paneli, Alan adı ekle onayında Otomatik olarak bir SSL sertifikası oluştur, Apache için SSL sertifikasını otomatik olarak yapılandırır.
  • Aşağıdaki adımlardan daha fazlasını yaparsanız, Apache'yi yeniden başlattıktan sonra bir hata oluşabilir.
  • Bir hata varsa, manuel olarak eklediğiniz konfigürasyonu silin.

httpd.conf dosyasını düzenleyin ▼

/usr/local/apache/conf/httpd.conf

▼ bul

Listen 443
  • (önceki yorum numarasını kaldırın #)

veya 443 numaralı dinleme bağlantı noktasını ekleyin ▼

Listen 443

SSH, Apache dinleme bağlantı noktasını kontrol edin ▼

grep ^Listen /usr/local/apache/conf/httpd.conf

▼ bul

mod_ssl
  • (önceki yorum numarasını kaldırın #)

veya ▼ ekleyin

LoadModule ssl_module modules/mod_ssl.so

▼ bul

httpd-ssl
  • (önceki yorum numarasını kaldırın #)

Ardından, SSH aşağıdaki komutu yürütün (yolu kendinize göre değiştirmeyi unutmayın):

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

Ardından, oluşturduğunuz web sitesinin Apache yapılandırmasının sonunda, </VirtualHost> bölümünün altında, aşağıdaki adımları izleyin.

SSL bölümünün yapılandırma dosyasını ekleyin (yorumu kaldırmayı ve yolu kendinize göre değiştirmeyi unutmayın):

<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>

Sonunda Apache'yi yeniden başlatın:

service httpd restart

Apache, HTTPS'ye HTTP yönlendirmesini zorlar

  • Birçok web isteği her zaman yalnızca SSL ile çalışabilir.
  • SSL'yi her kullandığımızda, web sitesine SSL üzerinden erişilmesi gerektiğinden emin olmalıyız.
  • Herhangi bir kullanıcı web sitesine SSL olmayan bir URL ile erişmeye çalışırsa, SSL web sitesine yönlendirilmelidir.
  • Apache mod_rewrite modülünü kullanarak SSL URL'sine yönlendirin.
  • LAMP tek tıklama kurulum paketini, yerleşik otomatik SSL sertifikası yüklemesini ve HTTPS'ye zorunlu yeniden yönlendirmeyi, HTTPS'ye yeniden yönlendirmeyi kullanırsanızYürürlükte, bir HTTPS yönlendirmesi eklemeniz gerekmez.

Yönlendirme kuralı ekle

  • Apache'nin yapılandırma dosyasında, web sitesinin sanal ana bilgisayarını düzenleyin ve aşağıdaki ayarları ekleyin.
  • Aynı ayarları .htaccess dosyanızdaki web sitenizdeki belge köküne de ekleyebilirsiniz.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Yalnızca HTTPS'ye yönlendirmek için belirli bir URL belirtmek istiyorsanız:

RewriteEngine On
RewriteRule ^message$ https://www.etufo.org/message [R=301,L]
  • Birisi erişmeye çalışırsa mesaj , sayfa https'ye atlar ve kullanıcı URL'ye yalnızca SSL ile erişebilir.

.htaccess dosyasının etkili olması için Apache'yi yeniden başlatın:

service httpd restart

注意 事项

  • Lütfen yukarıdaki e-posta adresini e-posta adresinizle değiştirin.
  • Lütfen yukarıdaki web sitesi alan adını web sitenizin alan adı ile değiştirmeyi unutmayın.

Yönlendirme kuralı konumu sorunu

Yönlendirme kurallarını sözde statik kurallar altına yerleştirirken, HTTP'nin sitenin tamamını HTTPS'ye yönlendirememesi sorunuyla sık sık karşılaşabilirsiniz.

Başlangıçta yönlendirme kodunu .htaccess'e kopyaladık ve aşağıdaki durumlarda görünecektir ▼

Yönlendirme kuralı [L] yukarıdadır.

  • [L], geçerli kuralın son kural olduğunu belirtir, aşağıdaki yeniden yazma kurallarını analiz etmeyi bırakın.
  • Bu nedenle, yeniden yönlendirilen makale sayfasına erişirken [L] aşağıdaki kuralı durdurur, bu nedenle yeniden yönlendirme kuralı çalışmaz.

HTTP ana sayfasına erişirken, URL yeniden yazma kurallarını atlayarak yönlendirme kurallarını uygulayacak bir URL yönlendirmesi tetiklemek istiyoruz, böylece tüm site HTTP'den HTTPS'ye yönlendirilebilsin.

HTTPS yönlendirme kurallarını [L] kurallarının altına değil , [L] kurallarının üstüne yerleştirin. ▼

Sözde statik SSL yönlendirme kuralları [L] aşağıdadır.

Genişletilmiş okuma:

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

En gidin