Cấu hình SSL miễn phí cho website với Let’s Encrypt

Cấu hình SSL miễn phí cho website với Let’s Encrypt

Cấu hình SSL miễn phí cho website với Let’s Encrypt

SSL là gì?

SSL là viết tắt của từ Secure Sockets Layer. Đây là một tiêu chuẩn an toàn dữ liệu được truyền đi giữ trình duyệt và máy chủ. Kể cả khi dữ liệu bị đánh cắp trong quá trình truyền qua mạng internet, hacker không thể đọc được thông tin dữ liệu. Vì thế SSL là yêu cầu bắt buộc với tất cả website bán hàng. SSL bảo vệ thông tin người mua hàng như: thẻ tín dụng giúp người mua hàng yên tâm thanh toán bằng thẻ tín dụng.

Vài tháng trước Google Chrome bắt đầu cảnh báo website “Not Secure” với các website không sử dụng SSL. SSL là yêu cầu cơ bản bảo vệ website an toàn. Giá SSL trước đây không hề rẻ vì vậy rất nhiều doanh nghiệp đã bỏ qua điều quan trọng này. Một tin vui là Let’s Encrypt đã bắt đầu cung cấp những gói SSL miễn phí cho website. Dưới đây là các bước cài đặt SSL cho server.

Bước 1 chuẩn bị:

Chắc chắn server của bạn đã cài đặt python 2.7 hay 3 và git. Nếu server đã được cài đặt bạn có thể bỏ qua bước này.

apt-get update
apt-get install python-minimal
python --version
apt-get install git-core
git --version

Bước 2 cài Certbot:

cd /opt
git clone https://github.com/certbot/certbot.git
cd certbot && ./certbot-auto

Bước 3 tạo Wildcard SSL

./certbot-auto certonly –server https://acme-v02.api.letsencrypt.org/directory –manual –preferred-challenges dns -d ‘yourdomain.com,*.yourdomain.com’

Bước 4 cấu hình DNS để chứng thực domain.

Theo hướng dẫn Let’s encrypt thêm TXT record để chứng thực chủ sở hữu domain.

Please deploy a DNS TXT record under the name
_acme-challenge.yourdomain.com with the following value:
_rBs-DZ-WE8eb2PyDi3gnxR4rkNWNGG_e5XE6k__B88
Before continuing, verify the record is deployed.

Bạn nên chờ ít nhất 5 phút để DNS cập nhật xong.

Sau khi chứng thực let’s encrypt sẻ tạo cho bạn 2 key

Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/yourdomain.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/yourdomain.com/privkey.pem
Your cert will expire on 2019-03-25. To obtain a new or tweaked
version of this certificate in the future, simply run certbot-auto
again. To non-interactively renew *all* of your certificates, run
"certbot-auto renew"

Bước 5 Cấu hình web server( nginx hay apache)

Cấu hình Nginx

server {
    listen 443 ssl;
    server_name yourdomain.com;
    ssl on;
    ssl_certificate     /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/yourdoamin.com/privkey.pem;
}

Cấu hình tự động redirect từ http qua https

server {
	listen 80; server_name yourdomain.com www.yourdomain.com;
	return 301 https://$server_name$request_uri;
}

Bước 6 Tự động gia hạn Let’s encrypt

Dùng cronjob tự động gia hạn Let’s encrypt

sudo crontab -e

Thêm dòng 1 cronjob

0 0 1 * * /opt/certbot/certbot-auto renew

Chúc mừng bạn, vậy là website của bạn đã có https và ko phải lo gia hạn sau 1 năm.