Lỗi này có thể xuất hiện trong nhiều trường hợp như:
-
Kiểm tra bản cập nhật WordPress trong khu vực quản trị.
-
Kiểm tra hoặc cập nhật plugin.
-
Kết nối đến API của các dịch vụ bên thứ ba như TinyPNG, Mailchimp, reCAPTCHA và nhiều plugin khác.
Nguyên nhân thường gặp là hệ thống không thể xác minh chuỗi chứng chỉ SSL hoặc bộ chứng chỉ CA (Certificate Authority) trên máy chủ đã cũ. Từ ngày 01/10/2021, nhiều website WordPress sử dụng chứng chỉ Let's Encrypt nhưng chưa cập nhật CA Bundle đã bắt đầu gặp lỗi này.
Ví dụ một yêu cầu HTTP bằng WordPress có thể trả về lỗi:
Xử lý lỗi "cURL error 60: SSL certificate problem: certificate has expired"
Cách 1: Tạm thời bỏ qua bước kiểm tra SSL
Nếu cần xử lý nhanh để website hoạt động trở lại, bạn có thể vô hiệu hóa việc xác thực SSL trong WordPress.
Mở file:
Sau đó thêm đoạn mã:
Cách này giúp WordPress bỏ qua bước kiểm tra chứng chỉ SSL khi gửi yêu cầu HTTPS.
Lưu ý: Đây chỉ là giải pháp tạm thời, không nên áp dụng lâu dài vì có thể làm giảm mức độ bảo mật của website.
Cách 2: Cập nhật bộ chứng chỉ SSL (CA Bundle)
Giải pháp được khuyến nghị là thay thế bộ chứng chỉ CA đã cũ bằng phiên bản mới nhất.
Bạn có thể tải file chứng chỉ tại:
Sau đó cập nhật nội dung của file:
bằng nội dung trong file cacert.pem vừa tải về.
Sau khi hoàn tất, WordPress sẽ có thể xác thực lại chứng chỉ SSL chính xác hơn.
Xử lý lỗi "cURL error 60: SSL certificate problem: unable to get local issuer certificate"
Lỗi này xuất hiện khi PHP không tìm thấy hoặc không sử dụng đúng bộ chứng chỉ CA trên máy chủ.
Để khắc phục, hãy thực hiện các bước sau.
Bước 1: Tải file chứng chỉ CA
Truy cập địa chỉ:
Sau đó lưu file vào một thư mục cố định trên máy chủ hoặc máy tính.
Bước 2: Mở file php.ini
Xác định file php.ini của phiên bản PHP mà website đang sử dụng rồi mở để chỉnh sửa.
Bước 3: Cập nhật đường dẫn chứng chỉ
Tìm hai cấu hình dưới đây:
Sau đó khai báo đường dẫn tới file cacert.pem vừa tải.
Hãy thay /duong-dan/ bằng vị trí thực tế lưu file trên hệ thống.
Bước 4: Khởi động lại dịch vụ
Sau khi lưu file cấu hình, hãy restart Web Server và PHP để các thay đổi có hiệu lực.
Nếu mọi thứ được cấu hình chính xác, lỗi cURL Error 60 sẽ được khắc phục và WordPress sẽ có thể kết nối HTTPS bình thường.
Kết luận
Lỗi cURL Error 60: SSL certificate problem chủ yếu liên quan đến việc xác thực chứng chỉ SSL giữa WordPress và máy chủ từ xa. Trong đa số trường hợp, chỉ cần cập nhật CA Bundle hoặc cấu hình lại đường dẫn tới file cacert.pem là có thể xử lý triệt để. Việc tắt kiểm tra SSL chỉ nên sử dụng trong trường hợp khẩn cấp để kiểm tra nguyên nhân, không nên áp dụng lâu dài trên website đang hoạt động.