Cài đặt chứng chỉ SSL trên VPS chạy NGINX

Cài đặt chứng chỉ SSL (dạng https:// thay vì http://) là 1 việc bắt buộc phải làm ngày nay.

Nó liên quan đến SEO, và quan trọng hơn, nó tạo được sự tin tưởng của người dùng bởi “cái ổ khóa xanh” trước đường dẫn.

Chứng chỉ SSL có thể dễ dàng được mua thông qua các nhà cung cấp tên miền giá rẻ như NameCheap.

Tuy nhiên, bạn vẫn kích hoạt chứng chỉ SSL này miễn phí thông qua phương thức Let’s Encrypt.

Thời hạn của chứng chỉ này chỉ 3 tháng, nhưng nó sẽ được tự động gia hạn 3 tháng 1 lần (gia hạn trước 10 ngày của kỳ hạn).

Hầu hết các nhà cung cấp hosting hiện tại (như Stablehost, Azdigi…) đều tích hợp kích hoạt chứng chỉ SSL này trong bảng điều khiển cPanel.

Bạn chỉ cần 1 cú click chuột là đã có thể kích hoạt khóa xanh. Rất đơn giản.

Tuy nhiên, đối với VPS, vấn đề lại không hề đơn giản như vậy. Bởi nó không có cPanel.

Kích hoạt chứng chỉ SSL https luôn là vấn đề đau đầu cho những người mới tiếp cận VPS (trong đó có tôi).

Có nhiều cách để kích hoạt chứng chỉ này trong VPS.

Nếu bạn cài script VPSSIM cho WebServer thì bạn có thể kích hoạt dễ dàng vì nó đã được tích hợp sẵn trong menu (script hocvps không có).

Bạn có thể tham khảo cài đặt và kích hoạt SSL trên VPS của Digital Ocean bằng VPSSIM Script tại đây.

Nhưng nếu ta không muốn cài script thì kích hoạt SSL như thế nào?

Tôi sẽ lấy  ví dụ cụ thể luôn.

Đó là trường hợp cài WordPress trên VPS của Vultr, và Webserver được Vultr mặc định cài là LEMP.

LEMP viết tắt của Linux – NGINX – MariaDB – PHP, nó là hệ Webserver cho hiệu suất cao hơn LAMP.

Do đó, bài hướng dẫn này tôi sẽ chỉ bạn cách kích hoạt SSL cho NGINX (tức LEMP).

Đối với LAMP (viết tắt Linux – Apache – mySQL – PHP) thì tôi sẽ viết 1 bài hướng dẫn khác.

Chúng ta có thể dễ dàng cài WordPress bằng One Click Installation. So với cài Script thì rõ ràng nó tiện lợi và nhẹ nhàng cho máy chủ hơn rất nhiều.

Nhưng điều phiền toái ở đây là chứng chỉ SSL sẽ được kích hoạt như thế nào?

Bài hướng dẫn này sẽ chỉ các bạn làm điều này.

Công cụ để giao tiếp giữa bạn (client) và VPS được tôi sử dụng là BitVise. Bạn có thể tải nó tại đây.

Để chỉnh sửa file text tiện lợi thì bạn nên cài Note++ tại đây. Đây là 1 phiên bản nâng cao của Notepad được cài sẵn trong HĐH Windows.

Chú ý là bài hướng dẫn này chỉ dành cho các bạn có kiến thức nền tảng tương đối về Linux trở lên.

Ok. Chúng ta bắt đầu.

Đầu tiên bạn mở BitVise SSH lên, copy/paste địa chỉ IP VPS vào Host và Password.

kết nối với vps bằng bitvise

Bấm Login.

Bước 1: Cập nhật tập tin cấu hình trong NGINX

Stop NGINX để chỉnh sửa file bằng lệnh.

 service nginx stop 

stop NGINX

Sau đó trong sFTP vào thư mục /etc/nginx/conf.d để chỉnh sửa lại nội dung của 2 file wordpress_http.conf và wordpress_https.conf

Mở file wordpress_http.conf bằng Note++

Bấm Ctr + F, gõ từ server_name_ để tìm.

Sau đó, bạn thay thế dấu _ sau server_name bằng tên miền trang của bạn.

Ví dụ: tên miền của tôi là diacid, tôi sẽ thay thế server_name_ thành server_name diacid (có dấu cách ở giữa).

Sau đó bạn Save lại và đóng file. Tiếp tục mở file tiếp theo wordpress_https.conf

Và làm tương tự y như vậy (vì 2 cái dòng này nó giống nhau). Save file & exit.

Ok.

Bước 2: Tải Certbot

Certbot là cái gì??

Certbot là 1 ứng dụng miễn phí, mục đích để tìm và triển khai chứng chỉ SSL cho VPS thông qua phương thức Let’s Encrypt. Nó là 1 tổ chức phi lợi nhuận.

Với CentOS 6 trở xuống, Certbot không được cài sẵn. Do đó, bạn cần cài nó (nếu máy đã cài rồi thì cài lại vẫn không sao).

Gõ lệnh:

 wget https://dl.eff.org/certbot-auto 

 

Ý nghĩa: lệnh này sẽ tự tìm phần mềm cài đặt trên trang tải của Certbot và tự cài vào VPS.

cài certbot để kích hoạt chứng chỉ ssl

Nếu bị báo lỗi, nghĩa là bạn chưa cài phần mềm wget cho Linux.

Để cài wget, bạn gõ lệnh

 yum install wget 

 

Bấm “y” khi được hỏi xác nhận là xong, mất vài giây.
Sau đó gõ lại lênh wget bên trên để cài lại Certbot.

Gõ tiếp lệnh

 chmod a+x certbot-auto 

 

Bước 3: Lấy và cài đặt chứng chỉ SSL

Gõ lệnh

 ./certbot-auto certonly –standalone 

 

Khi được hỏi, bạn nhập tên miền, enter

nhập tên miền để cài đặt ssl

Tiếp tục, nó sẽ hỏi muốn làm gì? Bạn gõ 1, enter

(ở đây tôi đã cài rồi nên nó sẽ hơi khác, nhưng bạn cứ bấm 1 – enter là Ok)

Nó sẽ hỏi thêm là bạn có đồng ý hay không, bạn bấm A (Agree) –> Enter

Bạn có muốn nhập email hay không? Cái này không bắt buộc, bạn có thể nhập hay bỏ qua.

Sau khi nhập đầy đủ các thông tin trên, Certbot sẽ tìm chứng chỉ SSL cho tên miền của bạn.

Bạn cài chứng chỉ này bằng lệnh:

 ./certbot-auto –nginx –redirect 

 

Nó hỏi bạn muốn kích hoạt SSL hay không?

Bạn bấm Enter không cần nhập gì luôn.

Tiếp tục nó sẽ hỏi như sau.

Bạn bấm 1 –> enter

Lúc này Certbot thông báo bạn đã cài thành công chứng chỉ SSL

thông báo cài đặt chứng chỉ ssl thành công

Tuy nhiên, vẫn chưa xong.

Còn 1 vài thao tác nữa.

Bước 4: Cập nhật lại cấu hình NGINX cho tương thích với SSL

Để sử dụng được chứng chỉ SSL, bạn cần cập nhật lại file wordpress_http.conf (nhớ là chỉ mỗi file này thôi nhé, file wordpress_https.conf thì không cần sửa)

Mở file này dùng Note++

Copy dòng lệnh sau

 if ($scheme = http) { return 301 https://$server_name$request_uri; } 

 

Và chèn vào cuối file config trên như thế này

kích hoạt chứng chỉ ssl

Bấm Save & đóng file.

Giờ coi như đã xong. Ta khởi động lại NGINX bằng lệnh

 service nginx start 

 

Lúc này kiểm tra lại website thì chứng chỉ SSL đã được kích hoạt

chứng chỉ ssl đã được kích hoạt

Như đã nói, Let’s Encrypt sẽ hết hạn trong 3 tháng.

Do đó, ta sẽ gọi yêu cầu Certbot tự động gia hạn SSL bằng lệnh sau

 ./certbot-auto renew 

Lời kết

Như vậy là ta hoàn thành kích hoạt chứng chỉ SSL cho VPS website chạy Linux Nginx rồi đấy.

Cũng hơi nhùng nhằn, nhưng cũng không quá phức tạp đúng không nào?

Nếu bạn sở hữu 1 website hay blog cá nhân thì cài đặt chứng chỉ SSL miễn phí là 1 việc nên làm.

Nhưng nếu website bạn tầm cỡ công ty, tổ chức lớn thì tôi nghĩ bạn nên mua chứng chỉ SSL luôn.

Nó trông Pro hơn, bạn có thể thêm thương hiệu công ty vào trước link, thay vì chỉ có khóa xanh.

kích hoạt chứng chỉ ssl mua trên namecheap

Và quan trọng nữa là nó khá rẻ (khoảng từ 9$/năm, tương đương 200k vnđ)

Một trong những nhà cung cấp chứng chỉ SSL uy tín giá rẻ là Namecheap.

Như thường lệ, nếu bạn gặp bất cứ khó khăn gì trong quá trình cài đặt, đừng ngần ngại liên hệ Vũ qua email contact@langthangweb.com hoặc để lại trong phần bình luận bên dưới nhé.

Chúc các bạn cài đặt chứng chỉ SSL cho VPS thành công!

Tags:,

Bình luận của bạn