Sửa lỗi cURL error 60: SSL certificate problem trong WordPress

Nhiều khách hàng của Vũ Trụ Số thông báo rằng họ gặp phải vấn đề và nhận được thông báo lỗi cURL error 60: SSL certificate problem trong WordPress kể từ ngày 01/10/2021 bởi chứng chỉ SSL Let’s Encrypt yêu cầu API HTTP ngừng hoạt động

Ví dụ: một yêu cầu như dưới đây sẽ gặp lỗi

$res = wp_remote_get( 'https://vutruso.com/' );
if( is_wp_error( $res ) ){
	echo $res->get_error_message();
}

Lỗi cURL error 60: SSL certificate problem: certificate has expired có thể gặp ở mọi nơi, ví dụ:

  • Trong khu vực quản trị khi bạn kiểm tra các bản cập nhật WordPress
  • Khi kiểm tra các bản cập nhật plugin
  • Khi truy cập api của bất kỳ dịch vụ nào. Ví dụ: plugin TinyPNG sẽ ngừng hoạt động – nén ảnh JPEG, PNG & WebP và một loạt các plugin khác bị ảnh hưởng

Đặc biệt nếu bạn sử dụng plugin Litespeed cache và muốn preload cache bằng trình thu thập dữ liệu sẽ gặp phải thông báo lỗi No valid sitemap parsed for crawler

Lỗi No valid sitemap parsed for crawler cũng chính do nguyên nhân bên trên, bạn có thể fix đơn giản bằng cách thêm đoạn code bỏ qua việc kiểm tra https vào file functions.php để khắc phục sự cố.

add_filter('https_ssl_verify', '__return_false');

Ngoài ra bạn cũng có thể sử dụng phương pháp phía dưới đây dựa vào hook http_request_args để khắc phục.

1. Tạo 1 file loader.php trong thư mục wp-content/mu-plugins

2. Thêm vào trong file loader.php đoạn code và lưu lại

<?php
require_once __DIR__ .'/fix-wp-ca-bundle/main.php';

3. Tạo một thư mục wp-content/mu-plugins/fix-wp-ca-bundle
4. Tạo file main.php và ca-bundle.crt trong một thư mục fix-wp-ca-bundle
5. Thêm vào trong file main.php đoạn code dưới đây

<?php

defined( 'ABSPATH' ) || exit;

/**
 * Update the path to the WordPress trusted root certificates.
 *
 * Actual certificates can be downloaded at this link: http://curl.haxx.se/ca/cacert.pem
 */
add_filter( 'http_request_args', 'http_request_change_sslsertificates' );

function http_request_change_sslsertificates( $parsed_args ){

	$parsed_args[ 'sslcertificates' ] = __DIR__ . '/ca-bundle.crt';

	return $parsed_args;
}

Bạn mở file ca-bundle.crt sau đó lấy code để dán vào là được

Như vậy là bạn có thể fix được lỗi cURL error 60: SSL certificate problem trong WordPress rồi, Nếu gặp khó khăn gì trong quá trình thao tác hoặc thắc mắc về WordPress vui lòng liên hệ với chúng tôi để được hỗ trợ.

Xin cảm ơn.

Từ khóa
Bài viết liên quan