Cấu Hình SSL Cloudflare Cho Linux Trong 5 phút
Đăng ký Cloudflare:
Simple Step: Ở đây mình sẽ nói chung chung trước các bước.
Truy cập cloudflare.com đăng ký tài khoản, xác thực, add website bạn muốn lấy chứng chỉ.
Bước này cơ bản là bạn đưa quyền quản lý domain từ nhà cung cấp khác lên luôn cho Cloudflare bằng cách xác thực Nameservers. Dùng chức năng Add site và đọc làm theo.
Đăng ký chứng chỉ SSL Cloudflare Free 15 năm
Tiếp theo để đăng ký chứng chỉ SSL Cloudflare Free 15 năm chọn Crypto -> Tiếp theo kích hoạt Universal SSL theo dạng Flexible hay Full đều được nhé.
Nếu chọn Flexible thì domain của bạn sẽ tự động cập nhật lên ssl mà không cần phải xem các bước dưới. Nếu bạn thích chơi file chứng chỉ thì chọn Option Full và tìm hiểu tiếp bên dưới.
Bước tiếp theo kéo xuống tại Origin Certificates chọn Create Certificate.
Chọn Private key type -> Next.
Copy hết code của đoạn Origin Certificate vào Notepad lưu dưới dạng domain.com.pem hoặc domain.com.crt đều được. Domain.com là tên domain của bạn.
Copy hết code đoạn Private Key và lưu dưới dạng domain.com.key
Cấu Hình SSL Cloudflare trên Web Servers
Khổ nhất phần này, do có nhiều loại webserver khác nhau nên không thể hướng dẫn hết, mình làm web mới chơi có 2 loại nên chỉ 2 cái.
Nhưng cơ bản các loại có công cụ quản lý trực quan như cPanel, VestaCP, OpenLiteSpeed thì chỉ vào click chọn đúng đường dẫn lưu 2 file .key và .crt (.pem) là nó chạy.
Bước 1: Tải 2 file .key và .crt (.pem) lên một thư mục cụ thể nào đó của server và lưu lại link chính xác.
Bước 2a: Báo cáo cho con Server là tui có chạy bằng https ( chứng chỉ bảo mật SSL). Đối với các công cụ quản lý webserver thì vào sửa đúng link là xong.
Bước 2b: Dùng cho ai cấu hình SSL bằng Nginx (ai xài hocvps thì xem ở đây).
- Tạo thư mục lưu 2 file Cloudflare cung cấp domain.com.key và domain.com.pem. VD: /etc/ssl (Dùng lệnh tạo hoặc dùng công cụ ftp tạo đều được).
- Truy cập /etc/nginx/conf.d/ chọn và chỉnh sửa file domain.com.conf với domain.com là domain bạn đang xin lên https.
server { listen 80; listen 443; ssl on; ssl_certificate /path/to/ domain.com.pem; ssl_certificate_key /path/to/domain.com.key; ..... } }
- /path/to/ là đường dẫn tới file.
- Sửa tất cả các chỗ domain.com thành domain của bạn.
- Nên chú ý những chỗ in đậm thôi.
- Lưu ý lớn cho bạn nào copy làm https cho con domain thứ 2 trở lên.
server {
listen 443 ssl default_server;
- Chỉ có con domain mặc định cho VPS mới có default_server, các con khác bạn có thể copy hoàn toàn từ con thứ nhất, sửa domain cho phù hợp và xóa default_server là ổn.
- Cuối cùng dùng lệnh service nginx restart để áp dụng. Nếu đoạn này báo lỗi là do quá trình làm file .conf của bạn đã sai, có thể hỏi mình hoặc tìm trên mạng cách làm file .conf này cho chuẩn.
Hi
Mình đã thử cấu hình giống bạn nói nhưng không được.
Đây là file cấu hình của mình
server {
listen 80;
server_name domain.xyz http://www.domain.xyz;
return 302 https://$server_name$request_uri;
}
server {
listen 443 ssl default_server;
ssl on;
ssl_certificate /etc/ssl/certs/cert.pem;
ssl_certificate_key /etc/ssl/private/key.pem;
ssl_client_certificate /etc/ssl/certs/cloudflare.crt; (File này mình copy nội dung trong file origin-pull-ca.pem và đặt tên file thành cloudflare.crt. Mình có để link ở dưới nhé).
ssl_verify_client on;
server_name domain.xyz;
location / {
autoindex on;
autoindex_exact_size off;
root /web/domain.xyz/;
index index.php;
try_files $uri $uri/ =404;
}
}
https://support.cloudflare.com/hc/en-us/articles/204899617-Authenticated-Origin-Pulls
Kết quả sau khi mình restart luôn là “400 Bad Request No required SSL certificate was sent”
Mình dùng raspbian os, nginx 1.14.2, php7.3-fpm,domain này trước mình mua bên hostinger dùng wordpress trên shared server 1 thời gian sau đó chuyển NS sang cloudflare thì bị tình trạng như thế, bạn fix hộ mình nhé. Tks
Làm qua Cloudflare không cần đụng chạm server nha bạn. Hoàn nguyên cấu hình hoặc bõ chỗ 443 đi. Cài file kiểu này đang cho option Full, còn nguyên trạng mà lên thẳng SSL thì dùng Flexible.