Direktori Artikel
Bagaimana cara mendaftar Let's Encrypt?
Mari Enkripsi Prinsip & Tutorial Instalasi Sertifikat SSL
Apa itu SSL? Chen Weiliang telah membahasnya dalam artikel sebelumnya, " Apa perbedaan antara HTTP dan HTTPS? Penjelasan rinci tentang proses enkripsi SSL ."
Selain situs web e-commerce yang harus membeli sertifikat SSL terenkripsi tingkat lanjut, para profesional media baru yang menggunakan situs web untuk mempromosikan akun resmi WeChat mereka sebenarnya dapat memasang sertifikat SSL terenkripsi gratis. Hal ini dapat membantu SEO dan meningkatkan peringkat kata kunci situs web di mesin pencari.

Let's Encrypt memiliki alur kerja tersendiri ( https://certbot.eff.org/ ). Pengguna Linux dapat merujuk pada alur kerja tersebut dan mengikuti tutorial ini.
Unduh alat certbot-auto terlebih dahulu, lalu jalankan dependensi instalasi alat.
wget https://dl.eff.org/certbot-auto --no-check-certificate chmod +x ./certbot-auto ./certbot-auto -n
Hasilkan sertifikat SSL
Selanjutnya, dengan mengambil nama domain blog Chen Weiliang sebagai contoh, silakan modifikasi sesuai kebutuhan Anda dan jalankan perintah berikut melalui SSH.
Pastikan untuk mengubah perintah di:
- Kotak surat
- jalur server
- nama domain situs web
Direktori tunggal domain tunggal, buat sertifikat:
./certbot-auto certonly --email [email protected] --agree-tos --no-eff-email --webroot -w /home/admin/web/chenweiliang.com/public_html -d www.chenweiliang.com
Direktori tunggal multi-domain, buat sertifikat: (yaitu, beberapa nama domain, direktori tunggal, gunakan sertifikat yang sama)
./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
Sertifikat SSL yang dihasilkan akan disimpan di:/etc/letsencrypt/live/www.chenweiliang.com/ Di bawah konten.
Beberapa nama domain dan beberapa direktori, menghasilkan sertifikat: (yaitu, beberapa nama domain, beberapa direktori, gunakan sertifikat yang sama)
./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
Setelah sertifikat Let's Encrypt berhasil diinstal, akan muncul prompt SSH sebagai berikut:
CATATAN PENTING:
– Selamat! Sertifikat dan chain telah disimpan di:
/etc/letsencrypt/live/www.chenweiliang.com/fullchain.pem
File kunci Anda telah disimpan di:
/etc/letsencrypt/live/www.chenweiliang.com/privkey.pem
Sertifikat Anda akan kedaluwarsa pada 2018-02-26. Untuk mendapatkan yang baru atau yang di-tweak
versi sertifikat ini di masa mendatang, cukup jalankan certbot-auto
lagi. Untuk memperbarui *semua* sertifikat Anda secara non-interaktif, jalankan
"perpanjangan otomatis certbot"
- Jika Anda menyukai Certbot, silakan pertimbangkan mendukung pekerjaan kami dengan:
Berdonasi ke ISRG / Let's Encrypt: https://letsencrypt.org/donate
Berdonasi ke EFF: https://eff.org/donate-le
Pembaruan Sertifikat SSL
Pembaruan sertifikat juga sangat mudah, menggunakan crontab untuk pembaruan otomatis. Untuk beberapa versi Debian yang belum memiliki crontab terpasang, Anda dapat memasangnya secara manual terlebih dahulu.
apt-get install cron
Perintah-perintah berikut untuk nginx dan apache dimasukkan ke dalam file /etc/crontab , yang berarti perintah tersebut diperbarui setiap 10 hari, dan masa berlaku 90 hari sudah cukup.
File crontab Nginx, tambahkan:
0 3 */10 * * /root/certbot-auto renew --renew-hook "/etc/init.d/nginx reload"
File crontab Apache, tambahkan:
0 3 */10 * * /root/certbot-auto renew --renew-hook "service httpd restart"
Konfigurasi Apache sertifikat SSL
Sekarang, kita perlu membuat perubahan pada konfigurasi Apache.
Kiat:
- jika Anda menggunakanPanel Kontrol CWP, di centang Tambahkan nama domain Secara otomatis menghasilkan sertifikat SSL, itu akan secara otomatis mengkonfigurasi sertifikat SSL untuk Apache.
- Jika Anda melakukan lebih dari langkah-langkah berikut, kesalahan mungkin terjadi setelah memulai ulang Apache.
- Jika ada kesalahan, hapus konfigurasi yang Anda tambahkan secara manual.
Edit file httpd.conf
/usr/local/apache/conf/httpd.conf
Temukan
Listen 443
- (hapus nomor komentar sebelumnya #)
atau tambahkan port mendengarkan 443
Listen 443
SSH periksa port mendengarkan Apache
grep ^Listen /usr/local/apache/conf/httpd.conf
Temukan
mod_ssl
- (hapus nomor komentar sebelumnya #)
atau tambahkan
LoadModule ssl_module modules/mod_ssl.so
Temukan
httpd-ssl
- (hapus nomor komentar sebelumnya #)
Kemudian, SSH jalankan perintah berikut (perhatikan untuk mengubah jalur Anda sendiri):
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
Selanjutnya, di bagian akhir konfigurasi Apache untuk situs web yang Anda buat, di bawah </VirtualHost>.
Tambahkan file konfigurasi bagian SSL (perhatikan untuk menghapus komentar, dan ubah jalur ke milik Anda):
<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>
Akhirnya restart Apache di atasnya:
service httpd restart
Apache memaksa pengalihan HTTP ke HTTPS
- Banyak permintaan web selalu hanya dapat dijalankan dengan SSL.
- Kita perlu memastikan bahwa setiap kali kita menggunakan SSL, website harus diakses melalui SSL.
- Jika ada pengguna yang mencoba mengakses situs web dengan URL non-SSL, ia harus diarahkan ke situs web SSL.
- Redirect ke URL SSL menggunakan modul Apache mod_rewrite.
- Seperti menggunakan paket instalasi sekali klik LAMP, instalasi otomatis sertifikat SSL bawaan dan pengalihan paksa ke HTTPS, pengalihan ke HTTPSTerpaksa, Anda tidak perlu menambahkan pengalihan HTTPS.
Tambahkan aturan pengalihan
- Di file konfigurasi Apache, edit host virtual situs web dan tambahkan pengaturan berikut.
- Anda juga dapat menambahkan pengaturan yang sama ke root dokumen di situs web Anda di file .htaccess Anda.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]Jika Anda hanya ingin menentukan URL tertentu untuk dialihkan ke HTTPS:
RewriteEngine On RewriteRule ^message$ https://www.etufo.org/message [R=301,L]
- Jika seseorang mencoba mengakses pesan , halaman akan melompat ke https, dan pengguna hanya dapat mengakses URL dengan SSL.
Mulai ulang Apache agar file .htaccess diterapkan:
service httpd restart
注意 事项
- Silahkan ubah alamat email di atas menjadi alamat email Anda.
- Harap ingat untuk mengubah nama domain situs web di atas menjadi nama domain situs web Anda.
Masalah lokasi aturan pengalihan
Saat menempatkan aturan pengalihan di bawah aturan pseudo-statis, Anda akan sering menemui masalah bahwa HTTP tidak dapat mengalihkan seluruh situs ke HTTPS.
Awalnya kami menyalin kode redirect ke .htaccess dan itu akan muncul dalam kasus berikut
![Aturan pengalihan [L] ada di atas. Aturan pengalihan [L] ada di atas.](https://img.chenweiliang.com/2018/03/https-rule-1.png)
- [L] menunjukkan bahwa aturan saat ini adalah aturan terakhir, berhenti menganalisis aturan penulisan ulang berikut.
- Jadi saat mengakses halaman artikel yang dialihkan, [L] menghentikan aturan berikut, sehingga aturan pengalihan tidak berfungsi.
Saat mengakses halaman beranda HTTP, kita ingin memicu pengalihan URL, melewati aturan penulisan ulang URL untuk menjalankan aturan pengalihan, sehingga seluruh situs dapat dialihkan dari HTTP ke HTTPS.
Jangan letakkan aturan pengalihan HTTPS di bawah aturan [L] ; letakkan di atas aturan [L] . ▼
![Aturan pengalihan SSL pseudo-statis [L] ada di bawah ini. Aturan pengalihan SSL pseudo-statis [L] ada di bawah ini.](https://img.chenweiliang.com/2018/03/pseudo-static-ssl-jump.png)
Bacaan lebih lanjut:
- Apa perbedaan antara http vs https? Penjelasan rinci tentang proses enkripsi SSL
- Apa yang harus saya lakukan jika saya mendapatkan error 500 setelah menginstal sertifikat SSL Let's Encrypt di panel kontrol CWP?
- Secara otomatis melompat ke nama domain tingkat kedua tanpa nama domain tingkat atas www: nama domain root 301 mengalihkan www
Semoga artikel "Cara Mendaftar Let's Encrypt? Prinsip & Tutorial Instalasi Sertifikat SSL Gratis Let's Encrypt" yang dibagikan di blog Chen Weiliang ( https://www.chenweiliang.com/ ) bermanfaat bagi Anda.
Silakan bagikan tautan artikel ini: https://www.chenweiliang.com/cwl-512.html
