Hướng dẫn cài đặt SSL cho Node.js & Express.js (Kèm Code)
Thịnh Văn Hạnh
30/03/2026
2387 Lượt xem
Chia sẻ bài viết
Việc bảo mật dữ liệu trên server bằng giao thức HTTPS đang trở thành tiêu chuẩn bắt buộc. Để chạy ứng dụng trên môi trường thực tế mà không bị trình duyệt báo cảnh báo đỏ “Not Secure”, bạn cần cấu hình chứng chỉ bảo mật. Bài viết này, BKNS sẽ hướng dẫn bạn chi tiết cách cài đặt node js ssl thuần và kết hợp thực chiến với framework phổ biến qua từ khóa node express ssl.

Tóm Tắt Bài Viết
Chuẩn bị trước khi cài đặt SSL cho Node.js
Trước khi bắt tay vào cấu hình code, bạn cần đảm bảo hệ thống đã có sẵn các yếu tố sau:
- Các file chứng chỉ SSL: Bao gồm file Private Key (thường có đuôi
.key), Certificate Bundle (đuôi.crthoặc.pem) và CA Root. Bạn có thể mua hoặc tạo self-signed để test. - Module mặc định của Node.js: Chúng ta bắt buộc phải gọi module
httpsđể tạo server và modulefs(File System) để cấp quyền đọc các file chứng chỉ nằm trên máy chủ.

Hướng dẫn cài đặt SSL trên Node.js (Thuần)
Nếu bạn đang chạy Node.js thuần (không sử dụng framework), quá trình cấu hình SSL khá đơn giản với các bước sau:
Bước 1: Tải chứng chỉ SSL lên máy chủ
Nếu bạn đã đăng ký SSL, hãy truy cập trang quản lý và tải về các file chứng chỉ tương ứng. Sau đó upload chúng lên một thư mục an toàn trên server Node.js của bạn.
Bước 2: Tạo file server và khai báo chứng chỉ
Tạo một file có tên https_server.js (hoặc server.js). Sử dụng fs.readFileSync để đọc đường dẫn tuyệt đối dẫn đến các file chứng chỉ của bạn. Dưới đây là đoạn code chuẩn:
var https = require('https');
var fs = require('fs');
// Khai báo đường dẫn đọc file chứng chỉ SSL
var https_options = {
key: fs.readFileSync("/path/to/private.key"),
cert: fs.readFileSync("/path/to/your_domain_name.crt"),
ca: [
fs.readFileSync('/path/to/CA_root.crt'),
fs.readFileSync('/path/to/ca_bundle_certificate.crt')
]
};
// Khởi tạo HTTPS Server
https.createServer(https_options, function (req, res) {
res.writeHead(200);
res.end("Welcome to Node.js HTTPS Server\n");
}).listen(8443, () => {
console.log('Server is running on port 8443');
});
Ghi chú đường dẫn:
path/to/private.key: Đường dẫn trỏ đến file Khóa riêng (Private Key).path/to/your_domain_name.crt: Đường dẫn trỏ đến file chứng chỉ tên miền.path/to/ca_bundle...: Đường dẫn trỏ đến gói CA Bundle do nhà cung cấp cấp phát.
Cấu hình SSL cho Express.js (Node Express SSL)
Trong môi trường thực tế, hầu hết các Developer đều sử dụng Express.js. Việc cấu hình node express ssl có một lưu ý cực kỳ quan trọng: Bạn không thể dùng trực tiếp app.listen() để chạy HTTPS.

Thay vào đó, bạn phải truyền đối tượng app của Express vào bên trong https.createServer. Hãy xem đoạn code thực hành dưới đây:
const express = require('express');
const https = require('https');
const fs = require('fs');
const app = express();
// Khai báo đường dẫn chứng chỉ
const sslOptions = {
key: fs.readFileSync('/path/to/private.key'),
cert: fs.readFileSync('/path/to/your_domain_name.crt')
};
// Các route của Express
app.get('/', (req, res) => {
res.send('HTTPS Express Server đang hoạt động an toàn!');
});
// Bọc app Express bằng module https
https.createServer(sslOptions, app).listen(443, () => {
console.log('Express App đang chạy HTTPS trên port 443');
});
Bước 3: Khởi động Node.js
Mở Terminal/Console lên và chạy lệnh sau để khởi động ứng dụng bạn vừa viết:
node https_server.js
Lúc này, bạn có thể truy cập https://yourdomain.com để kiểm tra biểu tượng ổ khóa bảo mật. Nếu gặp lỗi không đọc được file `.key`, hãy kiểm tra lại quyền truy cập (permission) của thư mục chứa chứng chỉ.

BKNS – Mua chứng chỉ SSL uy tín, an toàn và nhanh chóng
Trên môi trường Localhost (Dev), bạn có thể tự tạo chứng chỉ miễn phí để test. Nhưng khi đưa hệ thống (Production) ra internet, bạn bắt buộc phải sử dụng chứng chỉ SSL từ các tổ chức cấp phát uy tín để trình duyệt không báo lỗi đỏ, đồng thời bảo vệ dữ liệu khách hàng tuyệt đối.
Hiện nay chỉ với chưa đầy 20$ là bạn đã có thể dễ dàng sở hữu một chứng chỉ SSL đảm bảo an toàn và chất lượng trong 1 năm. Nếu bạn băn khoăn về loại SSL phù hợp cho server Node.js của mình, có thể tham khảo bảng giá Chứng chỉ SSl giá rẻ tại BKNS để nhận được tư vấn kỹ thuật chuyên sâu.
Khi là khách hàng của BKNS, bạn sẽ nhận được những quyền lợi ưu việt như:
- Chế độ hoàn trả lên tới 30 ngày nếu không hài lòng.
- Dịch vụ hỗ trợ kỹ thuật xử lý lỗi cấu hình 24/7.
- Miễn phí hỗ trợ cài đặt thẳng vào máy chủ.
- Không giới hạn server đăng ký.
Kết luận
Qua bài viết trên, bạn đã nắm được sự khác biệt giữa cấu hình node js ssl thuần và cách tích hợp chứng chỉ vào framework node express ssl. BKNS hy vọng các đoạn code mẫu trên sẽ giúp bạn cấu hình thành công hệ thống bảo mật của mình một cách nhanh chóng.
Theo dõi BKNS thường xuyên hơn tại các nền tảng mạng xã hội để cập nhật thêm nhiều thủ thuật quản trị máy chủ:




































