Tôi vừa mới setup cho domain www.thaihue.com để sử dụng Let’s Encrypt. Bạn có thể nhìn thấy thông tin chứng chỉ của domain này đã được xác thực bởi Let’s Encrypt Authority X1 ở hình dưới đây.
Khi chúng ta muốn nhận chứng chỉ số cho domain example.com từ một CA thì chúng ta phải chứng minh cho họ rằng chúng ta có quyền sở hữu domain này. Thông thường thì bạn sẽ phải đăng kí bằng email kiểu như admin@example.com
. Đối với Let’s Encrypt thì việc này được thực hiện thông qua một phần của giao thức ACME. Giao thức này giúp bạn có thể tự động việc khởi tạo hoặc thu hồi chứng chỉ số cho domain của mình. Chi tiết cách hoạt động của gia thức này bạn có thể xem mô tả tại đây: https://letsencrypt.org/howitworks/technology/.
Để khởi tạo một chứng chỉ cho domain của mình thì bạn chỉ cần clone letsencrypt về server và chạy lệnh sau, lưu ý là nếu bạn đang chạy webserver ở port 80 thì bạn tạm thời stop webserver, ở đây mình dùng Nginx.
$ git clone https://github.com/letsencrypt/letsencrypt
$ cd letsencrypt
# make sure to stop any server running on port 80
$ /etc/init.d/nginx stop
$ ./letsencrypt-auto --agree-dev-preview --server \
https://acme-v01.api.letsencrypt.org/directory auth
# It will prompt you for domains to validate then proceed with ACME
Tham số auth là chỉ tạo key chứ không cài đặt. Việc của bạn cần làm là đồng ý với điều khoản sử dụng và cung cấp domain của bạn. Như Let’s Encrypt tiếp tục phát triển thì họ có kế hoạch tự động luôn việc cài đặt các chứng chỉ số cho các webserver như Apache và Nginx. Nhưng hiện tại thì chúng ta phải thêm một bước config các chứng chỉ này trong file cấu hình của webserver.
http{
server{
…
listen 443 ssl;
server_name www.thaihue.com;
ssl_certificate /etc/letsencrypt/live/www.thaihue.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/www.thaihue.com/privkey.pem;
…
}
}
Sau đó bạn chỉ cần restart lại webserver là xong. Bạn có thể check config của mình tại SSL Labs. Việc cài đặt và config diễn ra trong vòng 3 phút. Quá tuyệt vời! Thật không thể tin nổi!