12/08/2018, 15:17

Cài đặt https miễn phí cho website

Hiện nay hầu hết các website đều sử dụng https để tăng tính bảo mật cho website của mình, ngay cả google cũng tuyên bố rằng https sẽ ảnh hưởng đến xếp hạng của website đó, vì vậy để có thứ hạng tốt trên các công cụ tìm kiếm thì chúng ta nên sử dụng https cho website của mình. Có nhiều người có kinh ...

Hiện nay hầu hết các website đều sử dụng https để tăng tính bảo mật cho website của mình, ngay cả google cũng tuyên bố rằng https sẽ ảnh hưởng đến xếp hạng của website đó, vì vậy để có thứ hạng tốt trên các công cụ tìm kiếm thì chúng ta nên sử dụng https cho website của mình. Có nhiều người có kinh phí éo hẹp nên không thể bỏ tiền ra để mua key cho website của mình, thật may mắn là Let’s Encrypt đã cung cấp cho chúng ta hoàn toàn miễn phí.

Let’s Encrypt là một nhà cung cấp chứng chỉ số SSL (Certificate Authority) hoàn toàn miễn phí, được nhiều cá nhân và tổ chức tin dùng và đặc biệt không giới hạn.

Trong bài viết này tôi sẽ hướng dẫn các bạn cài đặt Let's Encrypt trên ubuntu 14.01 và nginx.

Install Certbot

  • Đầu tiên chạy lệnh sau để add repo:
sudo add-apt-repository ppa:certbot/certbot
  • Chạy update để lấy những package mới nhất
sudo apt-get update
  • Cuối cùng cài Certbot
sudo apt-get install certbot

Tạo Certificate

Trước tiền để dùng được cerbot plugin chúng ta cần thay đổi một số config của Nginx như sau:

sudo nano /etc/nginx/sites-available/default

Và add vào đoạn mã sau:

server {
        . . .

        location ~ /.well-known {
                allow all;
        }

        . . .
}

kiểm tra config đã chính xác và restart lại nginx để nó nhận config mới:

sudo nginx -t
sudo service nginx restart

Nếu mọi thứ đã ok thì chúng ta sẽ chạy lệnh sau để lấy Certificate:

certbot certonly --webroot --webroot-path=/home/zazahub.xyz/public_html  -d  zazahub.xyz  -d www.zazahub.xyz

Chú ý:

/usr/share/nginx/html thu mục code của bạn. zazahub.xyz và www.zazahub.xyz là tên domain của bạn. khi cài nó sẽ yêu cầu bạn nhập email và đồng ý với chính sách của họ, nên chỉ cần nhập email và đồng ý là ok

Chạy xong xuất hiện thế này là ok:

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
  /etc/letsencrypt/live/zazahub.xyz/fullchain.pem. Your cert
   will expire on 2017-08-24. To obtain a new or tweaked version of
   this certificate in the future, simply run certbot again. To
   non-interactively renew *all* of your certificates, run "certbot
   renew"
 - If you lose your account credentials, you can recover through
   e-mails sent to email@example.com.
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Chú ý:

/etc/letsencrypt/live/zazahub.xyz là nơi lưu trữ CER của bạn 2017-08-24 là thời gian hết hạn của CER, được 3 tháng mỗi lần (đừng lo sẽ có gia hạn tự động)

khi chạy lệnh :

ls -l /etc/letsencrypt/live/zazahub.xyz/

Chúng ta thu được kết quả như sau:

cert.pem -> ../../archive/zazahub.xyz/cert1.pem   // domain certificate
chain.pem -> ../../archive/zazahub.xyz/chain1.pem // The Let's Encrypt chain certificate
fullchain.pem -> ../../archive/zazahub.xyz/fullchain1.pem  // gộp 2 cái trên
privkey.pem -> ../../archive/zazahub.xyz/privkey1.pem // Your certificate's private key

Generate Strong Diffie-Hellman Group

Chạy tiếp lệnh sau:

sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

lệnh này chạy khá lâu, khéo mất cả phút đó             </div>
            
            <div class=

0