Hướng dẫn mua SSL giá rẻ trên SSLs.COM và cài đặt trên Nginx

Sau sự cố Chứng chỉ số SSL miễn phí của Let’s Encrypt hết hạn khiến hàng triệu trang web không thể truy cập tôi đã mua ngay SSL của Comodo tại SSLs.COM để cài cho các website của mình. Lý do tôi chọn SSLs là vì đây là nơi bán rẻ nhất mà tôi biết.

Mua chứng chỉ SSL giá rẻ

Các bạn truy cập vào SSLs.COM để mua chứng chỉ.

Comodo PositiveSSL Certificates
Chọn đúng gói PositiveSSL các bạn nhé!

Nhớ sử dụng mã giảm giá: MISSU10 để được giảm 10% đơn hàng.

Mã giảm giá 10% mua SSL tại SSLS.COM
SSLS là nơi bán chứng chỉ SSL giá rẻ nhất thị trường hiện nay

Click vào nút CHECKOUT để tiến hành thanh toán. Họ có hỗ trợ cả Paypal và thẻ tín dụng.

Kích hoạt chứng chỉ SSL

Sau khi mua xong chứng chỉ SSL của bạn sẽ ở trạng thái Unused (chưa sử dụng) nên bạn hãy ấn vào nút ACTIVATE để tiến hành kích hoạt.

Chuyển qua bước tiếp theo, bạn sẽ nhận được thông báo:

Khai báo tên miền đăng ký SSL
Khai báo tên miền đăng ký chứng chỉ số SSL

Nội dung thông báo trên đại loại là: Các chứng chỉ phát hành từ ngày 18/08/2020 sẽ có hiệu lực trong 396 ngày. Nếu chứng chỉ bạn mua còn thời hạn sử dụng thì sau 396 ngày bạn cần phải kích hoạt lại SSL để tiếp tục sử dụng.

Bỏ qua thông báo, bạn nhập tên miền muốn đăng ký chứng chỉ SSL rồi ấn nút ONWARDS để tiếp tục.

save private key
Tải Private key

Bạn ấn nút SAVE KEY.ZIP để tải private key về máy tính. Lưu ý rằng key này sẽ không được lưu trên ssl.com đâu nên bạn tự lưu trên máy tính để sau muốn cài lại SSL thì còn dùng nhé. Trường hợp bạn làm mất Private key thì phải gửi yêu cầu cấp lại.

Lưu private key về máy tính
Bạn ấn ONWARDS để tiếp tục

Xác minh tên miền

Bạn có thể xác minh quyền sở hữu tên miền bằng cách upload file lên hosting, xác minh qua email hoặc DNS. Tôi thường chọn Upload a validation file cho nhanh.

Xác minh SSL cho tên miền

Ấn SUBMIT để tiếp tục.

Các bạn ấn vào nút tải file txt kia về nhé. Sau đó upload file TXT này vào thư mục (.well-known/pki-validation/) để đường dẫn nó chính xác như link của bạn là được.

Xác nhận quyền sở hữu tên miền
Xác nhận quyền sở hữu tên miền

Sau đó ấn CONFIRM FILE UPLOAD để tiếp tục.

Chờ cấp chứng chỉ SSL
Chờ cấp chứng chỉ SSL

Ở bước này bạn phải chờ đợi nhà cung cấp kiểm tra và cấp chứng chỉ số SSL cho tên miền của bạn. Quá trình xác thực có thể mất từ 2–20 phút.

Sau khi chứng chỉ SSL được cấp thì nút DOWNLOAD SSL sẽ xuất hiện để bạn tải về:

Download SSL

Tại trang quản lý SSL bạn sẽ thấy trạng thái của chứng chỉ đã chuyển sang Issued (đã phát hành).

Và chuyển qua bước cài đặt SSL trên máy chủ web.

Cài đặt SSL cho tên miền

Cài đặt chứng chỉ SSL trên Nginx

Trong hướng dẫn này, VPS của tôi sử dụng trình quản lý HocVPS Script. Với các server LEMP khác bạn làm tương tự nhé.

Đầu tiên, bạn giải nén 2 file ZIP đã tải từ SSLs về:

PositiveSSL Certificate for dogothanhtung.vn

Sau khi giải nén sẽ có tất cả 4 file:

  1. dogothanhtung.vn.ca-bundle
  2. dogothanhtung.vn.crt
  3. dogothanhtung.vn.p7b
  4. dogothanhtung_vn_key.txt

Bạn dùng một phần mềm text editor (chẳng hạn Notepad++) để xem nội dung các file này nhé.

Bước 1: Tạo thư mục chứa file chứng chỉ:

mkdir -p /etc/nginx/ssl/dogothanhtung_vn/ && cd /etc/nginx/ssl/dogothanhtung_vn/

Lưu nội dung file chứng chỉ ở thư mục này, dùng nano:

nano ssl-dogothanhtung.crt

Bạn lấy nội dung file dogothanhtung.vn.crt dán vào trước, còn dogothanhtung.vn.ca-bundle dán vào sau. Đại loại sau đó bạn có file ssl-dogothanhtung.crt chứa nội dung của cả 2 file kia.

Lưu nội dung Private Key chung thư mục:

nano private-dogothanhtung.key

Copy nội dung file dogothanhtung_vn_key.txt vào rồi Ctrl+O, Enter để lưu. Ctrl+X để thoát.

Bạn cũng có thể có thể tạo sẵn 2 file ssl-dogothanhtung.crtprivate-dogothanhtung.key trên máy tính rồi upload vào thư mục /etc/nginx/ssl/dogothanhtung_vn/ cũng được.

Về cái file đuôi .p7b bạn không cần quan tâm nhé.

Bước 2: Tạo file DH parameters 2048 bit:

File này chỉ phải tạo 1 lần duy nhất với mỗi VPS, nếu bạn tạo rồi thì bỏ qua bước này.

openssl dhparam 2048 -out /etc/nginx/ssl/dhparam.pem

Quá trình generate sẽ mất khoảng 1-2 phút bạn cứ chờ nhé.

Bước 3: Sửa file cấu hình Nginx của tên miền

Tên miền tôi đang cài SSL là dogothanhtung.vn thì file cấu hình sẽ có đường dẫn là /etc/nginx/conf.d/dogothanhtung.vn.conf

Để cho đơn giản, tôi thường tải file này về sửa với Notepad++ rồi up ngược lại server. Vì nhìn mã trong Notepad++ dễ hơn sửa với nano.

Trong block server {...} thứ 2 điều chỉnh như sau:

+ Sửa listen 80 default_server; thành listen 443 ssl default_server;

Nếu đây không phải tên miền chính thì listen 80; thành listen 443 ssl;

+ Sau dòng server_name dogothanhtung.vn; thêm đoạn cấu hình SSL đã được tối ưu:

# SSL
ssl_certificate /etc/nginx/ssl/dogothanhtung_vn/ssl-dogothanhtung.crt;
ssl_certificate_key /etc/nginx/ssl/dogothanhtung_vn/private-dogothanhtung.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';

# Improve HTTPS performance with session resumption
ssl_session_cache shared:SSL:50m;
ssl_session_timeout 1d;

# DH parameters
ssl_dhparam /etc/nginx/ssl/dhparam.pem;

# Enable HSTS
add_header Strict-Transport-Security "max-age=31536000" always;

Trong block server {…} ở phía trên cùng, sửa:

server_name www.dogothanhtung.vn;

thành

server_name dogothanhtung.vn www.dogothanhtung.vn;

Sửa

rewrite ^(.*) http://dogothanhtung.vn$1 permanent;

thành

rewrite ^(.*) https://dogothanhtung.vn$1 permanent;

Kết quả được như sau:

server {
	listen 80;
	server_name dogothanhtung.vn www.dogothanhtung.vn;
	rewrite ^(.*) https://dogothanhtung.vn$1 permanent;
}

Tiếp tục, chèn thêm đoạn code sau lên trên cùng:

server {
	listen 443 ssl;
	server_name www.dogothanhtung.vn;

	# SSL
        ssl_certificate /etc/nginx/ssl/dogothanhtung_vn/ssl-dogothanhtung.crt;
        ssl_certificate_key /etc/nginx/ssl/dogothanhtung_vn/private-dogothanhtung.key;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
	ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
	rewrite ^(.*) https://dogothanhtung.vn$1 permanent;
}

Lúc này toàn bộ URL của web sẽ tự động redirect sang https.

Bước 4: Cấu hình SSL với port quản lý HocVPS Script Admin

Nếu đây là tên miền chính sử dụng HocVPS Script thì bạn cần sửa thêm file dogothanhtung.vn-admin.conf trong thư mục /etc/nginx/conf.d nữa.

Ví dụ khi cài đặt HocVPS Script tôi để port mặc định là 2021. Tại dòng thứ 2 có listen 2021; sửa thành listen 2021 ssl;

Sau dòng server_name dogothanhtung.vn; thêm đoạn cấu hình SSL dưới đây:

error_page 497 https://$server_name:$server_port$request_uri;

# SSL
ssl_certificate /etc/nginx/ssl/dogothanhtung_vn/ssl-dogothanhtung.crt;
ssl_certificate_key /etc/nginx/ssl/dogothanhtung_vn/private-dogothanhtung.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';

Reload lại Nginx: service nginx reload và kiểm tra xem web bạn đã hoạt động với chứng chỉ SSL vừa cài chưa?

Xem thông tin chứng chỉ SSL
Chứng chỉ SSL của dogothanhtung.vn đã được cài đặt thành công

Nếu các bạn không dùng HocVPS mà dùng Web Server hay Web Panel khác thì cách cài đặt SSL sẽ khác nhau. Tham khảo bài hướng dẫn đầy đủ ở đây.

Xem thêm: Hướng dẫn cài HTTPS sử dụng SSL miễn phí Let’s Encrypt

Và hướng dẫn Chuyển từ HTTP sang HTTPS không bị mất thứ hạng từ khóa SEO

Theo dõi bài viết
Nhận thông báo
guest
0 Bình luận
Inline Feedbacks
Xem tất cả bình luận
0
Gửi bình luận của bạn về bài viết này.x