Cấu hình SSL/TLS với NGINX

Tram Ho

SSL/TLS là một giao thức mã hóa dữ liệu quan trọng để bảo vệ thông tin truyền tải qua mạng. Trong bài viết này, chúng ta sẽ tìm hiểu cách cấu hình SSL/TLS trên máy chủ Nginx trên môi trường Ubuntu. SSL/TLS cho phép chúng ta thiết lập kết nối an toàn giữa máy chủ và trình duyệt, đảm bảo tính bảo mật và riêng tư của dữ liệu.

Bước 1: Cài đặt Nginx trên Ubuntu

Để bắt đầu, hãy cài đặt Nginx trên máy chủ Ubuntu bằng câu lệnh sau:

Bước 2: Tạo cặp khóa SSL/TLS
  • Tiếp theo, chúng ta cần tạo một cặp khóa SSL/TLS: một khóa riêng tư (private key) và một chứng chỉ công khai (public certificate). Chúng ta có thể sử dụng các công cụ như OpenSSL để tạo cặp khóa này.

  • Sử dụng các câu lệnh sau để tạo cặp khóa SSL/TLS:

  • sudo openssl genpkey -algorithm RSA -out /etc/nginx/private.key dùng để tạo một khóa riêng tư (private key) được lưu trữ tại đường dẫn /etc/nginx/private.key.

  • sudo openssl req -new -key /etc/nginx/private.key -out /etc/nginx/certificate.csr dùng để tạo yêu cầu chứng chỉ (certificate signing request – CSR) sử dụng khóa riêng tư vừa tạo.

  • sudo openssl x509 -req -days 365 -in /etc/nginx/certificate.csr -signkey /etc/nginx/private.key -out /etc/nginx/certificate.crt dùng để tạo chứng chỉ công khai (public certificate) từ yêu cầu chứng chỉ và khóa riêng tư.

Bước 3: Cấu hình Nginx để sử dụng SSL/TLS

Tiếp theo, chúng ta cần chỉnh sửa tệp cấu hình Nginx để sử dụng SSL/TLS. Mở tệp cấu hình của trang web bạn muốn bảo mật bằng SSL/TLS, ví dụ: /etc/nginx/sites-available/default, và thực hiện các thay đổi sau:

  • Trong tệp cấu hình Nginx của trang web (ví dụ: /etc/nginx/sites-available/default), ta thay đổi cấu hình server block để sử dụng SSL/TLS.
  • Dòng listen 443 ssl; xác định cổng lắng nghe là 443 và sử dụng giao thức SSL/TLS.
  • Dòng server_name example.com; xác định tên miền của trang web.
  • Dòng ssl_certificate /etc/nginx/certificate.crt; chỉ định đường dẫn đến chứng chỉ công khai.
  • Dòng ssl_certificate_key /etc/nginx/private.key; chỉ định đường dẫn đến khóa riêng tư.
  • Bạn có thể thêm các cấu hình bổ sung cho SSL/TLS, ví dụ như cấu hình các giao thức, mã hóa, hoặc hạn chế phiên bản SSL/TLS sử dụng.
Bước 4: Sau khi bạn đã hoàn thành các bước trên và lưu tệp cấu hình, hãy khởi động lại dịch vụ Nginx để áp dụng các thay đổi:

  • Bây giờ, máy chủ Nginx của bạn đã được cấu hình để sử dụng SSL/TLS. Bạn có thể truy cập trang web của mình bằng địa chỉ https://example.com và dữ liệu được truyền tải sẽ được mã hóa và bảo mật.

  • Hãy chắc chắn kiểm tra và cập nhật cấu hình SSL/TLS của bạn để đảm bảo tính bảo mật và tuân thủ các hướng dẫn an toàn.

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo