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:
sudo apt update
sudo apt install nginx
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
sudo openssl req -new -key /etc/nginx/private.key -out /etc/nginx/certificate.csr
sudo openssl x509 -req -days 365 -in /etc/nginx/certificate.csr -signkey /etc/nginx/private.key -out /etc/nginx/certificate.crt
-
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:
server { listen 443 ssl; server_name example.com; ssl_certificate /etc/nginx/certificate.crt; ssl_certificate_key /etc/nginx/private.key; // Cấu hình bổ sung cho SSL/TLS location / { // Cấu hình các luật xử lý yêu cầu }
}
- 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:
sudo systemctl restart nginx
-
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.