Để cấu hình SSL/TLS với Nginx trên CentOS, bạn có thể làm theo các bước sau:
Bước 1: Cài đặt Nginx
Nếu bạn chưa cài đặt Nginx, chạy lệnh sau để cài đặt nó:
sudo yum install nginx
Bước 2: Cài đặt OpenSSL
Nếu bạn chưa có OpenSSL, cài đặt nó bằng lệnh sau:
sudo yum install openssl
Bước 3: Tạo thư mục cho các tệp chứng chỉ
Tạo thư mục để chứa các tệp chứng chỉ SSL:
sudo mkdir /etc/nginx/ssl
Bước 4: Tạo chứng chỉ SSL/TLS self-signed (tự ký) (Tuỳ chọn)
Nếu bạn không sử dụng chứng chỉ SSL của một tổ chức chứng thực, bạn có thể tạo chứng chỉ tự ký bằng OpenSSL. Đây là cách để thử nghiệm SSL/TLS trên môi trường phát triển. Để tạo chứng chỉ tự ký, chạy các lệnh sau:
cd /etc/nginx/ssl
sudo openssl genrsa -out server.key 2048
sudo openssl req -new -key server.key -out server.csr
sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Bước 5: Cấu hình Nginx sử dụng SSL/TLS
Mở tệp cấu hình của Nginx cho trang web bạn muốn bảo mật:
sudo vi /etc/nginx/conf.d/your_domain.conf
Thêm các dòng sau vào tệp cấu hình để kích hoạt SSL:
server {
listen 80;
server_name your_domain.com www.your_domain.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name your_domain.com www.your_domain.com;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
# Các tùy chọn SSL/TLS bổ sung có thể được thêm ở đây (tùy chọn)
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
# Cấu hình thêm (nếu cần thiết)
location / {
# Cấu hình reverse proxy (nếu cần thiết)
}
}
Bước 6: Kiểm tra và khởi động lại Nginx
Kiểm tra xem cấu hình của Nginx có lỗi không:
sudo nginx -t
Nếu không có lỗi, khởi động lại dịch vụ Nginx để áp dụng cấu hình mới:
sudo systemctl restart nginx
Sau khi hoàn tất, trang web của bạn sẽ được bảo mật bằng SSL/TLS. Lưu ý rằng việc sử dụng chứng chỉ tự ký sẽ dẫn đến trình duyệt cảnh báo về chứng chỉ không được xác thực. Để có chứng chỉ SSL/TLS đã xác thực, bạn cần phải mua hoặc lấy miễn phí chứng chỉ từ một cơ quan chứng thực.