Thư mục bài viết
Làm thế nào để đăng ký Let's Encrypt?
Hãy Mã hóa Nguyên tắc và Hướng dẫn Cài đặt Chứng chỉ SSL
SSL là gì?Chen WeiliangTrong bài viết trước "Sự khác biệt giữa http và https là gì? Giải thích chi tiết về quy trình mã hóa SSL"Nó được đề cập trong.
Ngoại trừThương mại điện tửTrang web phải mua chứng chỉ SSL được mã hóa nâng cao và sử dụng trang web dưới dạng WeChatQuảng cáo tài khoản công khaiCủaphương tiện truyền thông mớiMọi người, nếu bạn muốn cài đặt chứng chỉ SSL, bạn thực sự có thể cài đặt chứng chỉ SSL được mã hóa miễn phí.SEOHữu ích, có thể cải thiện thứ hạng của từ khóa trang web trong công cụ tìm kiếm.

Bản thân Let's Encrypt đã viết một bộ quy trình (https://certbot.eff.org/),sử dụngLinuxbạn bè, bạn có thể làm theo hướng dẫn này trong khi tham khảo quy trình.
Tải xuống công cụ certbot-auto trước, sau đó chạy các phần phụ thuộc cài đặt của công cụ.
wget https://dl.eff.org/certbot-auto --no-check-certificate chmod +x ./certbot-auto ./certbot-auto -n
Tạo chứng chỉ SSL
Tiếp theo, vớiChen WeiliangLấy tên miền blog làm ví dụ, vui lòng sửa đổi nó theo nhu cầu của riêng bạn. SSH chạy các lệnh sau.
Đảm bảo sửa đổi lệnh trong:
- Hộp thư
- đường dẫn máy chủ
- tên miền trang web
Một thư mục tên miền đơn, tạo chứng chỉ:
./certbot-auto certonly --email [email protected] --agree-tos --no-eff-email --webroot -w /home/admin/web/chenweiliang.com/public_html -d www.chenweiliang.com
Thư mục đơn đa miền, tạo chứng chỉ: (tức là nhiều tên miền, một thư mục, sử dụng cùng một chứng chỉ)
./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
Chứng chỉ SSL đã tạo sẽ được lưu trong:/etc/letsencrypt/live/www.chenweiliang.com/ Dưới nội dung.
Nhiều tên miền và nhiều thư mục, tạo chứng chỉ: (nghĩa là nhiều tên miền, nhiều thư mục, sử dụng cùng một chứng chỉ)
./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
Sau khi chứng chỉ Let's Encrypt được cài đặt thành công, thông báo nhắc sau sẽ xuất hiện trong SSH:
THÔNG BÁO QUAN TRỌNG:
– Xin chúc mừng! Giấy chứng nhận của bạn và chain đã được lưu tại:
/etc/letsencrypt/live/www.chenweiliang.com/fullchain.pem
Tệp khóa của bạn đã được lưu tại:
/etc/letsencrypt/live/www.chenweiliang.com/privkey.pem
Chứng chỉ của bạn sẽ hết hạn vào ngày 2018 tháng 02 năm 26. Để nhận được chứng chỉ mới hoặc được điều chỉnh
phiên bản của chứng chỉ này trong tương lai, chỉ cần chạy certbot-auto
một lần nữa. Để gia hạn không tương tác * tất cả * chứng chỉ của bạn, hãy chạy
"certbot-tự động gia hạn"
- Nếu bạn thích Certbot, hãy cân nhắc ủng hộ công việc của chúng tôi bằng cách:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Đóng góp cho EFF: https://eff.org/donate-le
Gia hạn chứng chỉ SSL
Gia hạn chứng chỉ cũng rất thuận tiện, sử dụngcrontabTự động gia hạn.Một số Debian không cài đặt crontab, trước tiên bạn có thể cài đặt nó theo cách thủ công.
apt-get install cron
Các lệnh sau lần lượt là nginx và apache / etc / crontab Lệnh được nhập trong tệp có nghĩa là nó được gia hạn 10 ngày một lần và thời hạn hiệu lực là đủ 90 ngày.
Tệp crontab Nginx, vui lòng thêm:
0 3 */10 * * /root/certbot-auto renew --renew-hook "/etc/init.d/nginx reload"
Tệp crontab của Apache, vui lòng thêm:
0 3 */10 * * /root/certbot-auto renew --renew-hook "service httpd restart"
Cấu hình Apache chứng chỉ SSL
Bây giờ, chúng ta cần thực hiện các thay đổi đối với cấu hình Apache.
Mẹo:
- nếu bạn dùngBảng điều khiển CWP, trong hộp kiểm Thêm tên miền Tự động tạo chứng chỉ SSL, nó sẽ tự động định cấu hình chứng chỉ SSL cho Apache.
- Nếu bạn thực hiện nhiều hơn các bước sau, lỗi có thể xảy ra sau khi khởi động lại Apache.
- Nếu có lỗi, hãy xóa cấu hình bạn đã thêm theo cách thủ công.
Chỉnh sửa tệp httpd.conf ▼
/usr/local/apache/conf/httpd.conf
Tìm ▼
Listen 443
- (xóa số nhận xét trước đó #)
hoặc thêm cổng nghe 443 ▼
Listen 443
SSH kiểm tra cổng lắng nghe Apache ▼
grep ^Listen /usr/local/apache/conf/httpd.conf
Tìm ▼
mod_ssl
- (xóa số nhận xét trước đó #)
hoặc thêm ▼
LoadModule ssl_module modules/mod_ssl.so
Tìm ▼
httpd-ssl
- (xóa số nhận xét trước đó #)
Sau đó, SSH thực hiện lệnh sau (lưu ý thay đổi đường dẫn thành của riêng bạ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
Tiếp theo, khi kết thúc cấu hình Apache cho trang web bạn đã tạoDưới.
Thêm tệp cấu hình của phần SSL (lưu ý xóa nhận xét và thay đổi đường dẫn thành của riêng bạ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>
Cuối cùng khởi động lại Apache trên nó:
service httpd restart
Apache buộc chuyển hướng HTTP đến HTTPS
- Nhiều yêu cầu web luôn chỉ có thể chạy với SSL.
- Chúng ta cần đảm bảo rằng mỗi khi sử dụng SSL, trang web phải được truy cập thông qua SSL.
- Nếu bất kỳ người dùng nào cố gắng truy cập trang web bằng URL không phải SSL, người đó phải được chuyển hướng đến trang web SSL.
- Chuyển hướng đến URL SSL bằng mô-đun Apache mod_rewrite.
- Chẳng hạn như sử dụng gói cài đặt một cú nhấp chuột của LAMP, cài đặt tự động tích hợp chứng chỉ SSL và chuyển hướng bắt buộc sang HTTPS, chuyển hướng sang HTTPSCó hiệu lực, bạn không cần thêm chuyển hướng HTTPS.
Thêm quy tắc chuyển hướng
- Trong tệp cấu hình của Apache, hãy chỉnh sửa máy chủ ảo của trang web và thêm các cài đặt sau.
- Bạn cũng có thể thêm các cài đặt tương tự vào gốc tài liệu trên trang web của mình trong tệp .htaccess.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]Nếu bạn chỉ muốn chỉ định một URL nhất định để chuyển hướng đến HTTPS:
RewriteEngine On RewriteRule ^message$ https://www.etufo.org/message [R=301,L]
- Nếu ai đó cố gắng truy cập tin nhắn , trang sẽ chuyển sang https và người dùng chỉ có thể truy cập URL bằng SSL.
Khởi động lại Apache để tệp .htaccess có hiệu lực:
service httpd restart
注意 事项
- Vui lòng thay đổi địa chỉ email trên thành địa chỉ email của bạn.
- Hãy nhớ đổi tên miền trang web trên thành tên miền trang web của bạn.
Sự cố vị trí quy tắc chuyển hướng
Theo quy tắc giả tĩnh, khi đặt quy tắc nhảy chuyển hướng, bạn thường gặp phải http không thể chuyển hướng đến https Vấn đề.
Ban đầu, chúng tôi đã sao chép mã chuyển hướng vào .htaccess và nó sẽ xuất hiện trong các trường hợp sau ▼
![重定向规则 [L] 在上面](https://img.chenweiliang.com/2018/03/https-rule-1.png)
- [L] cho biết quy tắc hiện tại là quy tắc cuối cùng, hãy ngừng phân tích các quy tắc viết lại sau.
- Vì vậy, khi truy cập trang bài viết được chuyển hướng, [L] dừng quy tắc sau, vì vậy quy tắc chuyển hướng không hoạt động.
Khi truy cập trang chủ http, chúng tôi muốn kích hoạt chuyển hướng URL, hãy bỏ qua quy tắc giả tĩnh để thực hiện quy tắc nhảy chuyển hướng, để có thể đạt được điều đóChuyển hướng http trên toàn trang web đến https .
Không đặt quy tắc chuyển hướng https vào [L] Bên dưới các quy tắc, hãy đặt [L] trên các quy tắc ▼
![伪静态SSL重定向规则 [L] 在下面](https://img.chenweiliang.com/2018/03/pseudo-static-ssl-jump.png)
Đọc thêm:
- Sự khác biệt giữa http và https là gì? Giải thích chi tiết về quy trình mã hóa SSL
- Tôi nên làm gì nếu gặp lỗi 500 sau khi cài đặt chứng chỉ SSL Let's Encrypt trong bảng điều khiển CWP?
- Tự động chuyển đến tên miền cấp hai mà không có tên miền cấp cao nhất www: tên miền gốc 301 chuyển hướng www
Hy vọng Chen Weiliang Blog ( https://www.chenweiliang.com/ ) đã chia sẻ "Cách đăng ký Let's Encrypt? Nguyên tắc & Hướng dẫn cài đặt chứng chỉ SSL miễn phí Let's Encrypt SSL", rất hữu ích cho bạn.
Chào mừng bạn đến chia sẻ liên kết của bài viết này:https://www.chenweiliang.com/cwl-512.html
