久久999这里只有精品视频|欧美夫妻性生活黄大片|久久九九九九九九热|波多野结衣二区看黄片在线|99性爱视频97厂超碰|欧美国产丝袜成年人二级毛片|中国一圾黄片免费看a级大片|太久思思中文字幕一区|爱爱很舒服欧美91|亚洲男女AV亚洲肏屄

X
?? ??ng: 2026-02-07 | ?? c?p nh?t: 2026-02-09
Cài đặt chứng chỉ SSL trên Nginx

Tbài viết này sẽ hướng dẫn bạn các bước để cài đặt chứng chỉ SSL trên Nginx và thiết lập chuyển hướng tự động từ HTTP:// sang HTTPS://.

1. Tải lên chứng chỉ trên máy chủ nơi trang web của bạn được lưu trữ

Sau khi hoàn tất bước tạo mã CSR và kích hoạt SSL, bạn sẽ nhận được một tệp zip chứa các chứng chỉ Sectigo (trước đây gọi là Comodo) qua email. Ngoài ra, bạn cũng có thể tải chúng từ bảng điều khiển Tài khoản NiceNic của bạn.

Lưu ý: Nếu bạn chọn máy chủ NGINX khi kích hoạt chứng chỉ, bạn sẽ nhận được một tệp zip chứa một tệp Chứng chỉ có đuôi '.crt' và một tệp Chứng chỉ Cơ quan (CA) với đuôi '.ca-bundle'.

Hãy tải lên cả hai tệp này lên máy chủ bằng bất kỳ cách nào bạn thích. Ví dụ, sử dụng một chương trình FTP client.

Bạn cũng có thể tải xuống tệp Bundle cho mỗi Chứng chỉ theo hướng dẫn tại đây.

2. Kết hợp tất cả các chứng chỉ thành một tệp duy nhất

Bạn cần kết hợp tất cả Chứng chỉ (c?a b?n_tên mi?n.crt và c?a b?n_tên mi?n.ca-bundle) thành một tệp '.crt' duy nhất.

Chứng chỉ cho tên miền của bạn nên đứng đầu tệp, tiếp theo là chuỗi các Chứng chỉ (CA Bundle).

Vào thư mục nơi bạn đã tải lên các tập tin chứng chỉ. Chạy lệnh sau để kết hợp các tệp:

$ cat c?a b?n_tên mi?n.crt c?a b?n_tên mi?n.ca-bundle >> c?a b?n_tên mi?n_chain.crt

Xin lưu ý rằng nếu các tệp chứng chỉ được tải xuống từ tài khoản NiceNic của bạn, lệnh tốt nhất để sử dụng là:

$ cat c?a b?n_tên mi?n.crt > c?a b?n_tên mi?n_chain.crt ; echo >> c?a b?n_tên mi?n_chain.crt ; cat c?a b?n_tên mi?n.ca-bundle >> c?a b?n_tên mi?n_chain.crt

3. Tạo một khối máy chủ Nginx riêng biệt hoặc sửa đổi tệp cấu hình hiện có

Để cài đặt chứng chỉ SSL trên Nginx, bạn cần chỉ cho máy chủ biết sử dụng tệp nào, bằng cách a) tạo một tệp cấu hình mới, hoặc b) chỉnh sửa tệp hiện có.

    a) Bằng cách thêm một tệp cấu hình mới cho trang web, bạn có thể đảm bảo không có vấn đề gì với tệp cấu hình riêng biệt. Hơn nữa, việc xử lý sự cố cài đặt sẽ dễ dàng hơn nếu có vấn đề xảy ra với cấu hình mới.

Chúng tôi đề xuất tạo một tệp cấu hình mới trong thư mục này:

/etc/nginx/conf.d

Việc này có thể thực hiện bằng lệnh sau:

sudo nano /etc/nginx/conf.d/Your_tên mi?n*-ssl.conf

Trong đó Your_tên mi?n*-ssl.conf là tên tệp được tạo mới.

Tiếp theo, sao chép và dán một trong các khối máy chủ dưới đây cho cổng 443 và chỉnh sửa đường dẫn. Đảm bảo tên máy chủ và đường dẫn đến thư mục gốc web khớp nhau trong cả khối máy chủ cho cổng 80 và cho cổng 443. Nếu có các giá trị quan trọng khác cần lưu, hãy chuyển chúng sang khối máy chủ mới tạo.
    b) Sửa đổi tệp cấu hình mặc định của máy chủ web, có tên nginx.conf. Tệp này thường nằm trong một trong các thư mục sau:

/usr/local/nginx/conf

/etc/nginx

/usr/local/etc/nginx

Bạn cũng có thể sử dụng lệnh này để tìm nó:

sudo find / -type f -iname "nginx.conf"

Khi tìm thấy, mở tệp với:

sudo nano nginx.conf

Sau đó sao chép và dán một trong các khối máy chủ cho cổng 443 dưới đây và chỉnh sửa đường dẫn theo khối máy chủ cổng 80 của bạn (với tên máy chủ khớp, đường dẫn đến thư mục web root, và các giá trị quan trọng khác bạn cần). Ngoài ra, bạn cũng có thể sao chép khối máy chủ cho cổng 80, rồi dán nó bên dưới, cập nhật cổng và thêm các chỉ thị liên quan đến SSL cần thiết.

Chọn khối máy chủ:

Dưới đây là một khối máy chủ phù hợp với phiên bản Nginx của bạn.

Lưu ý: Để kiểm tra phiên bản Nginx, chạy lệnh sau:

sudo nginx -v



Lưu ý: Thay thế các giá trị tên tệp, như c?a b?n_tên mi?n_chain.crt, trong khối máy chủ với thông tin của bạn, và sửa các đường dẫn sử dụng/path/to/.


Khối máy chủ cho Nginx phiên bản 1.14 trở xuống:

server {

listen 443;

ssl on;

ssl_certificate /path/to/certificate/c?a b?n_tên mi?n_chain.crt;

ssl_certificate_key /path/to/c?a b?n_private.key;

root /path/to/webroot;

server_name c?a b?n_tên mi?n.com;

}

Lưu ý: Bạn có thể khai báo nhiều tên máy chủ trong cấu hình này, nếu cần, ví dụ:

server {

listen 443;

ssl on;

ssl_certificate /path/to/certificate/c?a b?n_tên mi?n_chain.crt;

ssl_certificate_key /path/to/c?a b?n_private.key;

root /path/to/webroot;

server_name c?a b?n_tên mi?n.com www.c?a b?n_tên mi?n.your;

}

Khối máy chủ cho Nginx phiên bản 1.15 trở lên:

server {

listen 443 ssl;

ssl_certificate /path/to/certificate/c?a b?n_tên mi?n_chain.crt;

ssl_certificate_key /path/to/c?a b?n_private.key;

root /path/to/webroot;

server_name c?a b?n_tên mi?n.com;

}

ssl_certificate nên trỏ đến tệp chứa các chứng chỉ đã kết hợp mà bạn đã tạo trước đó.
ssl_certificate_key nên trỏ đến Khóa Riêng được tạo với mã CSR.
Dưới đây là một số mẹo để tìm Khóa Riêng trên Nginx.

Quan trọng:  Cho Chứng chỉ Đa tên miền hoặc Wildcard, bạn cần thêm một khối máy chủ riêng cho từng tên miền/phụ miền trong Chứng chỉ. Đảm bảo bạn chỉ định tên miền/phụ miền và đường dẫn tới các tệp Chứng chỉ tương tự trong khối máy chủ, như mô tả phía trên.

Khi khối máy chủ tương ứng đã được thêm vào tệp, hãy đảm bảo lưu lại các chỉnh sửa. Sau đó, bạn có thể kiểm tra lại các thay đổi với các bước sau.

Chạy lệnh này để kiểm tra cú pháp tệp cấu hình:

sudo nginx -t



Nếu bạn nhận được lỗi, kiểm tra lại xem bạn đã làm theo hướng dẫn đúng chưa. Hãy liên hệ với Đội hỗ trợ của chúng tôi nếu bạn có thắc mắc.


Mẹo: để tìm nhật ký lỗi phục vụ việc xử lý sự cố, chỉ cần chạy:

sudo nginx -T | grep 'errho?c_log'

Nếu không có tệp nào được đề cập tồn tại, các tệp bị chú thích hoặc không chỉ định tệp nhật ký lỗi, bạn nên kiểm tra nhật ký hệ thống mặc định:

tail /var/log/nginx/errho?c.log -n 20

Nếu thử nghiệm cấu hình thành công, hãy khởi động lại Nginx với lệnh này để áp dụng thay đổi:

sudo nginx -s reload

Bây giờ chứng chỉ SSL của bạn đã được cài đặt. Bạn có thể kiểm tra việc cài đặt tại đây.

Lưu ý quan trọng:

Đôi khi sau khi cài đặt tệp SSL được kết hợp bằng dòng lệnh, bạn có thể gặp lỗi 'Nginx/Apache errho?c: 0906D066:PEM routines:PEM_read_bio:bad end line', trong trường hợp này, cách giải quyết có trong hướng dẫn tham khảo.

Một lỗi phổ biến khác ở giai đoạn này là thông báo lỗi 'Nginx SSL: errho?c:0B080074:x509 certificate routines: X509_check_private_key:key values mismatch', bạn có thể tìm thêm chi tiết và cách khắc phục trong bài viết này.

4. Cấu hình chuyển hướng HTTPS

Chúng tôi khuyên bạn nên cài đặt chuyển hướng từ HTTP sang HTTPS. Bằng cách này, khách truy cập trang web của bạn chỉ có thể truy cập phiên bản trang web an toàn.

Để làm điều này, bạn cần thêm một dòng vào tệp cấu hình với khối máy chủ cho cổng 80.

Mẹo:

Bạn có thể dùng một trong các lệnh sau để tìm tệp cấu hình đang được kích hoạt:

sudo nginx -T | grep -iw "configuration file"

sudo nginx -T | grep -iw "include"

Đường dẫn mặc định đến tệp conf là:

trên hệ điều hành Linux dựa trên RHEL: /etc/nginx/conf.d/default.conf

trên hệ điều hành Linux dựa trên Debian: /etc/nginx/sites-enabled/default

Bạn có thể mở các tệp đó để kiểm tra tệp nào chứa khối máy chủ cần thiết. Để làm việc này, chạy:

sudo nano name_of_the_file

Khi bạn tìm thấy tệp chứa khối máy chủ cho cổng 80 (cổng HTTP mặc định), hãy thêm dòng sau đây:

return 301 https://$server_name$request_uri;

Lưu ý: Quy tắc chuyển hướng trên nên được thêm ở dòng cuối cùng trong khối máy chủ.

  • return là chỉ thị chính để sử dụng.
  • 301 là chuyển hướng vĩnh viễn (302 là chuyển hướng tạm thời).
  • https là kiểu giao thức được chỉ định cụ thể (thay cho biến $scheme).
  • $server_name biến sẽ sử dụng tên miền được chỉ định trong chỉ thị server_name.
  • $request_uri biến dùng để khớp các đường dẫn tới các trang/ phần của trang web được yêu cầu (mọi thứ sau tên miền).
Dưới đây là ví dụ về các khối máy chủ có chuyển hướng HTTPS:

Chuyển hướng vĩnh viễn sang HTTPS

server {

listen 80;

server_name c?a b?n_tên mi?n.com www.c?a b?n_tên mi?n.your;

return 301 https://$server_name$request_uri;

}

Chuyển hướng vĩnh viễn sang HTTPS không www

server {

listen 80;

server_name c?a b?n_tên mi?n.com www.c?a b?n_tên mi?n.your;

return 301 https://c?a b?n_tên mi?n.com$request_uri;

}

Chuyển hướng vĩnh viễn sang HTTPS www

server {

listen 80;

server_name c?a b?n_tên mi?n.com www.c?a b?n_tên mi?n.your;

return 301 https://www.c?a b?n_tên mi?n.your$request_uri;

}

Chuyển hướng tạm thời sang HTTPS không www

server {

listen 80;

server_name c?a b?n_tên mi?n.com www.c?a b?n_tên mi?n.your;

return 302 https://c?a b?n_tên mi?n.com$request_uri;

}

Bạn có thể tìm thêm chi tiết về các tùy chọn chuyển hướng trên Nginx tại đây.
C?n h? tr?? Chúng t?i lu?n ? ?ay vì b?n. G?i yêu c?u h? tr?
B?n quy?n © 2006-2026 NICENIC INTERNATIONAL GROUP CO., LIMITED ?? ??ng ky b?n quy?n