Cấu hình SSL HTTPS cho Localhost trong Node.js

Config SSL HTTPS Localhost For Node.JS

Posted by Box XV on October 1, 2026. 3 min read.

Tổng quan

Việc bật HTTPS cho localhost trong môi trường phát triển Node.js của bạn bao gồm việc tạo chứng chỉ SSL và cấu hình máy chủ Node.js để sử dụng chúng. HTTPS, viết tắt của Hypertext Transfer Protocol Secure, bổ sung một lớp bảo mật cho việc giao tiếp qua Internet. Bằng cách chạy máy chủ HTTPS trên máy tính cục bộ, bạn có thể tái tạo môi trường được bảo vệ. Giao thức SSL (Secure Socket Layer) hoặc TLS (Transport Layer Security) cung cấp một phương thức giao tiếp an toàn qua internet.

Trong bài viết này, tôi sẽ hướng dẫn bạn cách cấu hình HTTPS cho việc phát triển cục bộ bằng Node.js cho giao diện người dùng. Phương pháp này cũng áp dụng cho React và Express.

TLS vs SSL

Cấu hình HTTPS cho Localhost

Để bật HTTPS trên localhost, hãy tạo chứng chỉ SSL tự ký bằng OpenSSL. Cài đặt mkcert, tạo Certificate Authority (CA) cục bộ bằng lệnh mkcert create-ca, sau đó tạo chứng chỉ SSL tự ký cho localhost bằng lệnh mkcert create-cert. Cấu hình máy chủ Node.js của bạn với chứng chỉ và khóa đã tạo cho HTTPS.

Bước 1: Cài đặt gói mkcert ở chế độ toàn cục.

mkcert là một gói npm dùng để tạo các chứng chỉ tự ký phục vụ cho quá trình phát triển. Nó có thể được sử dụng để tạo và cài đặt chứng chỉ CA (Certificate Authority) cục bộ cho máy chủ.

npm install -g mkcert

Bước 2: Tạo chứng chỉ SSL.

Mở cửa sổ dòng lệnh với quyền quản trị viên. Lần lượt chạy hai lệnh dưới đây trong cửa sổ dòng lệnh.

mkcert create-ca
mkcert create-cert

mkcert create-ca --validity 36500
mkcert create-cert --validity 36500

mkcert 192.168.20.136

npx mkcert-cli --outDir . --cert server.crt --key server.key --host localhost --host 192.168.20.53
npx mkcert-cli --outDir . --cert server.crt --key server.key --host localhost --host 192.168.20.136

Make Certificate

Bước 3: Sau khi thực thi thành công hai lệnh trên, bạn sẽ thấy bốn tệp tin được tạo ra trong thư mục nơi các lệnh được thực thi, với mỗi lệnh tạo ra hai tệp tin.

ca.crt
ca.key
cert.crt
cert.key

Bước 4: Nhấp đúp vào tệp ca.cert và nhấp vào Cài đặt chứng chỉ.

Certificate Information

Lưu ý: Lệnh này tạo nhanh một chứng chỉ có hiệu lực trong 365 ngày

Bước 5: Chọn tùy chọn Local Machine rồi nhấn nút Next.

Certificate Information

Bước 6: Chọn tùy chọn Place all certificates in the following store (Đặt tất cả chứng chỉ vào kho lưu trữ sau), sau đó chọn mục Trusted Root Certification Authorities. Cuối cùng, nhấp vào Next để tiếp tục.

Certificate Information

Bước 7: Nhấn vào Finish và chờ thông báo Import successful (Nhập dữ liệu thành công) xuất hiện. Khi thông báo hiện ra, hãy nhấn OK để hoàn tất quá trình nhập dữ liệu.

Certificate Information

Bước 8: Xác nhận rằng thông tin chứng chỉ khớp với các chi tiết được cung cấp bên dưới. Sau khi xác minh, hãy nhấp vào OK để tiếp tục.

Bước 9: Cập nhật lệnh khởi động trong phần scripts của tệp package.json như sau:

"start": "set HTTPS=true&&set SSL_CRT_FILE=C:/Windows/System32/cert.crt&&set SSL_KEY_FILE=C:/Windows/System32/cert.key&&react-scripts start",

Bước 10: Khởi động ứng dụng React của bạn bằng lệnh này.

npm start

Kết luận

Việc sử dụng mkcert giúp đơn giản hóa quá trình kích hoạt HTTPS trên localhost bằng cách tạo ra một Certificate Authority (CA) cục bộ và tạo các chứng chỉ SSL tự ký. Phương pháp này đảm bảo môi trường phát triển cục bộ an toàn, cho phép bạn thử nghiệm các ứng dụng Node.js qua giao thức HTTPS với quy trình thiết lập tối giản.


Tham khảo: