Cài đặt SSL cho localhost với mkcert

Trong lúc xem package sirv-cli thì thấy giới thiệu phần setup SSL (sử dụng mkcert) để chạy http/2, dùng thử thì thấy rất đơn giản nên giới thiệu với mọi người.

mkcert là một CLI tool viết bằng Golang dùng để tạo self-signed ssl certificates. Trên mạng cũng có nhiều cách setup SSL cho localhost nhưng theo mình thấy thì dùng mkcert này là đơn giản nhất.

Cài đặt mkcert

mkcert hỗ trợ cả 3 nền tảng phổ biến là Windows, Linux, macOS. Mình sẽ giới thiệu cách cài đặt trên Ubuntu. Cách cài đặt khác có thể tham khảo tại đây.

//Cài đặt certutil nằm trong thư viện libnss3-tools
sudo apt install libnss3-tools

Để cài mkcert cho Ubuntu thì sẽ có 3 cách:

  1. Cài đặt thông qua Linuxbrew
brew install mkcert

2. Build từ source code (yêu cầu Go phiên bản 1.13 trở lên)

git clone https://github.com/FiloSottile/mkcert && cd mkcert
go build -ldflags "-X main.Version=$(git describe --tags)"

3. (Dễ nhất) Download binary đã build sẵn tại đây. Mình đang dùng Ubuntu thì mình sẽ download file này về mkcert-v1.4.1-linux-amd64

Sử dụng mkcert tạo chứng chỉ SSL

Đầu tiên chạy lệnh

mkcert -install

mkcert sẽ tạo ra một Certificate Authority (CA) và tự động import CA này vào hệ điều hành/Firefox/Chrome. Tìm hiều thêm về Certificate Authority.

Sau khi đã import CA thì giờ ta sẽ tạo chứng chỉ SSL. Ở đây mình sẽ tạo cho tên miền nddcoder.test.

mkcert nddcoder.test

mkcert sẽ tạo ra 2 file: 1 file là chứng chỉ ssl và 1 file là private key.

Cài đặt chứng chỉ SSL với Nginx

Cấu hình SSL với Nginx

Khởi động lại Nginx và truy cập vào domain https://nddcoder.test

SSL với domain nddcoder.test

Với các web server khác Nginx thì các bạn có thể tự tìm hiểu thêm.

Chúc các bạn thành công.

Trả lời

Điền thông tin vào ô dưới đây hoặc nhấn vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất /  Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất /  Thay đổi )

Connecting to %s

Trang web này sử dụng Akismet để lọc thư rác. Tìm hiểu cách xử lý bình luận của bạn.