Cách khắc phục lỗi WordPress Error 60: SSL certificate problem

Một số trường hợp thường gặp gồm:

 

• Trong khu vực quản trị khi kiểm tra bản cập nhật WordPress


• Khi cập nhật plugin hoặc theme

 

• Khi plugin gọi API từ dịch vụ bên thứ ba

 

Ví dụ, các plugin như TinyPNG có thể ngừng hoạt động do không thể kết nối API để nén ảnh JPEG, PNG hoặc WebP.

 

Nguyên nhân phổ biến là hệ thống máy chủ không còn tin cậy hoặc không cập nhật kịp chuỗi chứng chỉ SSL, đặc biệt sau các thay đổi lớn liên quan đến chứng chỉ Let's Encrypt.

 

Ví dụ một request WordPress có thể phát sinh lỗi:

 

$res = wp_remote_get('https://example.com/');

if (is_wp_error($res)) {

    echo $res->get_error_message();

}

 

Xử lý lỗi “cURL error 60: certificate has expired”

 

Lỗi này thường cho biết chứng chỉ SSL hoặc certificate chain đã hết hạn.

 

1. Tạm thời bỏ qua bước xác thực SSL

 

Đây là cách xử lý nhanh để test hoặc khắc phục tạm thời.

 

Bạn mở file:

 

/wp-content/themes/YOUR_THEME/functions.php

 

Sau đó thêm đoạn code sau:

 

add_filter('https_ssl_verify', '__return_false');

 

Đoạn code này sẽ yêu cầu WordPress bỏ qua bước kiểm tra SSL khi gửi request HTTPS.

 

Lưu ý: chỉ nên dùng cách này như giải pháp tạm thời vì nó làm giảm mức độ bảo mật.

 

2. Cập nhật lại certificate bundle

 

Một cách an toàn hơn là cập nhật lại danh sách CA certificates mà PHP/cURL sử dụng.

 

Bạn có thể tải file chứng chỉ mới tại:

 

cURL CA Bundle

 

Sau đó cập nhật file chứng chỉ trong thư mục:

 

/wp-includes/certificates/ca-bundle.crt

 

Việc thay thế bằng certificate bundle mới thường giúp xử lý triệt để lỗi liên quan đến chứng chỉ hết hạn.

 

Xử lý lỗi “cURL error 60: unable to get local issuer certificate”

 

Lỗi này xuất hiện khi server không thể xác minh certificate chain do thiếu CA bundle phù hợp.

 

Để xử lý, hãy làm theo các bước sau.

 

1. Tải file cacert.pem

 

Trước tiên, tải file chứng chỉ mới từ:

 

cacert.pem

 

Sau đó lưu file vào một thư mục cố định trên server hoặc local machine.

 

2. Mở file php.ini

 

Xác định file cấu hình PHP mà website đang sử dụng, sau đó mở file:

 

php.ini

 

3. Cập nhật cấu hình certificate

 

Tìm hai dòng cấu hình sau:

 

curl.cainfo

openssl.cafile

 

Cập nhật đường dẫn tới file cacert.pem vừa tải ở bước 1.

 

[curl]

curl.cainfo = "/path/to/cacert.pem"

[openssl]

openssl.cafile = "/path/to/cacert.pem"

 

Hãy thay /path/to/ bằng đường dẫn thực tế trên server của bạn.

 

4. Khởi động lại dịch vụ web

 

Sau khi chỉnh sửa php.ini, bạn cần restart lại các dịch vụ liên quan như:

 

• Apache


• Nginx


• PHP-FPM

 

Điều này giúp cấu hình mới được áp dụng hoàn toàn.

 

Một số lưu ý quan trọng

 

Không nên tắt SSL verify lâu dài

 

Giải pháp bỏ qua SSL chỉ nên dùng để debug hoặc xử lý tạm thời.

 

Kiểm tra phiên bản PHP và cURL

 

Phiên bản PHP hoặc cURL quá cũ cũng có thể gây lỗi SSL.

 

Kiểm tra hosting/server

 

Nhiều trường hợp lỗi xuất phát từ server chưa cập nhật certificate bundle mới.

 

Nếu không thể xử lý thủ công, bạn nên liên hệ nhà cung cấp hosting.

 

Kết luận

 

WordPress Error 60 liên quan đến SSL thường xuất phát từ certificate hết hạn hoặc server thiếu CA bundle phù hợp. Tùy từng nguyên nhân, bạn có thể xử lý bằng cách tạm bỏ xác thực SSL, cập nhật lại certificate hoặc chỉnh cấu hình PHP. Trong đa số trường hợp, việc cập nhật CA bundle là giải pháp an toàn và ổn định nhất.

 HỖ TRỢ TRỰC TUYẾN