Cách tạo chứng chỉ SSL đáng tin cậy cục bộ với mkcert trên Ubuntu 20.04

theanh

Administrator
Nhân viên
Mkcert là một công cụ miễn phí, đơn giản và rất hữu ích cho phép bạn tạo chứng chỉ tin cậy cục bộ mà không cần mua từ CA thực. Các nhà phát triển thường làm việc trên hệ thống cục bộ và không bao giờ có thể sử dụng chứng chỉ tin cậy từ CA trên máy chủ cục bộ. Mkcert cho phép bạn quản lý chứng chỉ của riêng mình mà không gặp bất kỳ rắc rối nào.

Trong bài đăng này, chúng tôi sẽ chỉ cho bạn cách tạo chứng chỉ SSL đáng tin cậy để phát triển cục bộ bằng Mkcert trên Ubuntu 20.04.

Điều kiện tiên quyết​

  • Hệ thống chạy Ubuntu 20.04 Desktop.
  • Mật khẩu gốc được cấu hình trên máy chủ.

Bắt đầu​

Đầu tiên, hãy cập nhật các gói hệ thống lên phiên bản đã cập nhật bằng cách chạy lệnh sau:
Mã:
apt-get update -y
Sau khi tất cả các gói được cập nhật, bạn có thể tiến hành bước tiếp theo.

Cài đặt Mkcert​

Trước khi cài đặt tiện ích Mkcert, bạn sẽ cần cài đặt các gói cần thiết vào máy chủ của mình. Bạn có thể cài đặt bằng lệnh sau:
Mã:
apt-get install wget libnss3-tools
Sau khi tất cả các gói được cài đặt, hãy tải xuống phiên bản Mkcert mới nhất từ Github.
Mã:
wget https://github.com/FiloSottile/mkcert/releases/download/v1.4.3/mkcert-v1.4.3-linux-amd64
Sau khi tải xuống Mkcert, hãy di chuyển tệp nhị phân đã tải xuống đến đường dẫn hệ thống:
Mã:
mv mkcert-v1.4.3-linux-amd64 /usr/bin/mkcert
Tiếp theo, đặt quyền thực thi cho mkcert:
Mã:
chmod +x /usr/bin/mkcert
Tiếp theo, hãy xác minh phiên bản Mkcert bằng lệnh sau lệnh:
Mã:
mkcert --version
Bạn sẽ thấy kết quả sau:
Mã:
v1.4.3

Tạo CA cục bộ​

Bây giờ, hãy chạy lệnh sau để tạo chứng chỉ CA cục bộ:
Mã:
mkcert -install
Bạn sẽ thấy kết quả sau:
Mã:
Đã tạo CA cục bộ mới ????CA cục bộ hiện đã được cài đặt trong kho lưu trữ tin cậy của hệ thống! ??CA cục bộ hiện đã được cài đặt trong kho lưu trữ tin cậy của Firefox và/hoặc Chrome/Chromium (yêu cầu khởi động lại trình duyệt)! ????
Bạn có thể kiểm tra đường dẫn của chứng chỉ CA bằng lệnh sau:
Mã:
mkcert -CAROOT
Bạn sẽ thấy kết quả sau:
Mã:
/root/.local/share/mkcert

Tạo chứng chỉ cho trang web cục bộ​

Tiếp theo, bạn có thể tạo chứng chỉ và tệp khóa cho trang web lưu trữ cục bộ của mình bằng lệnh sau:
Mã:
mkcert app.example.com localhost 127.0.0.1 ::1
Bạn sẽ thấy kết quả sau:
Mã:
Created a new certificate valid for the following names ???? - "app.example.com" - "localhost" - "127.0.0.1" - "::1"Chứng chỉ nằm tại "./app.example.com+3.pem" và khóa nằm tại "./app.example.com+3-key.pem" ?Nó sẽ hết hạn vào ngày 1 tháng 11 năm 2023 ????

Cấu hình Nginx để sử dụng chứng chỉ đã tạo​

Tiếp theo, bạn sẽ cần cấu hình máy chủ web Nginx để sử dụng các chứng chỉ đã tạo.

Đầu tiên, sao chép các tệp chứng chỉ đã tạo vào thư mục /etc/ssl/:
Mã:
cp app.example.com+3* /etc/ssl/
Tiếp theo, đặt quyền sở hữu thích hợp vào thư mục gốc web Nginx:
Mã:
chown -R www-data:www-data /var/www/html/
Tiếp theo, tạo tệp cấu hình máy chủ ảo Nginx bằng lệnh sau:
Mã:
nano /etc/nginx/conf.d/app.conf
Thêm các dòng sau:
Mã:
server { listen 80; server_name app.example.com; root /var/www/html;}server { lắng nghe *:443 ssl; root /var/www/html; server_name app.example.com; ssl_certificate /etc/ssl/app.example.com+3.pem; ssl_certificate_key /etc/ssl/app.example.com+3-key.pem;}
Lưu và đóng tệp khi bạn hoàn tất, sau đó xác minh Nginx xem có lỗi cú pháp nào không:
Mã:
nginx -t
Bạn sẽ thấy kết quả sau:
Mã:
nginx: tệp cấu hình /etc/nginx/nginx.conf cú pháp là oknginx: tệp cấu hình /etc/nginx/nginx.conf thử nghiệm thành công
Tiếp theo, khởi động lại dịch vụ Nginx để áp dụng các thay đổi:
Mã:
systemctl restart nginx
Tiếp theo, chỉnh sửa tệp /etc/hosts và liên kết app.example.com của bạn với địa chỉ IP hệ thống của bạn:
Mã:
nano /etc/hosts
Thêm các dòng sau:
Mã:
your-server-ip app.example.com

Xác minh SSL cho tên miền của bạn​

Bây giờ, mở trình duyệt web của bạn và nhập URL . Bạn sẽ thấy tên miền của mình được bảo mật bằng Mkcert.



Bây giờ, hãy nhấp vào biểu tượng Khóa. Bạn sẽ thấy thông tin về chứng chỉ của mình trên trang sau:


Kết luận​

Xin chúc mừng! Bạn đã cài đặt thành công Mkcert và tạo chứng chỉ CA đáng tin cậy cho quá trình phát triển cục bộ của mình. Tôi khuyên bạn chỉ nên sử dụng Mkcert cho môi trường phát triển. Không nên sử dụng cho môi trường sản xuất.
 
Back
Bên trên