cURL 28: Connection timed out là một lỗi phổ biến của WordPress REST API có thể ảnh hưởng đến hiệu suất trang web của bạn và có thể khiến nó hoạt động không lường trước được. Trong bài viết này, mình sẽ hướng dẫn bạn cách dễ dàng khắc phục sự cố ‘cURL 28: Connection timed out after X milliseconds’ trên trang web WordPress của bạn.
CURL là một tiện ích phần mềm được WordPress và nhiều ứng dụng web khác sử dụng để gửi và nhận các yêu cầu dữ liệu bằng URL.
WordPress sử dụng cURL để xử lý một số yêu cầu API. Nó có sẵn dưới dạng một phần mở rộng của ngôn ngữ lập trình PHP và công ty lưu trữ WordPress của bạn sẽ đảm nhận điều đó.
Thư viện cURL đóng một vai trò quan trọng trong cách hoạt động của WordPress. Nếu nó không được cấu hình đúng cách thì trang web WordPress của bạn sẽ không hoạt động bình thường.
Không phản hồi kịp thời các yêu cầu dữ liệu của máy chủ gây ra lỗi cURL 28 trong WordPress.
WordPress sử dụng REST API (một kỹ thuật lập trình) để gửi và nhận các yêu cầu dữ liệu. Nếu những yêu cầu này hết thời gian chờ, thì bạn sẽ thấy đó là một vấn đề nghiêm trọng trong báo cáo Trạng thái trang web với tiêu đề ‘API REST gặp lỗi’.
Mở rộng lỗi sẽ hiển thị cho bạn các chi tiết khác bao gồm thông báo lỗi:
Error: cURL error 28: Operation timed out after x milliseconds with x bytes received (http_request_failed)
Bạn cũng có thể thấy một vấn đề liên quan khác với tiêu đề ‘Trang web của bạn không thể hoàn thành yêu cầu lặp lại’. Nó sẽ có một thông báo lỗi tương tự với mô tả sau.
'The loopback request to your site failed, this means features relying on them are not currently working as expected.'
Một số trường hợp có thể khiến cURL hết thời gian sử dụng trong WordPress.
Ví dụ: một plugin tường lửa của WordPress có thể chặn một yêu cầu REST API coi đó là một hoạt động đáng ngờ.
Nếu máy chủ DNS của bạn không hoạt động chính xác, thì điều này cũng có thể không yêu cầu HTTP và gây ra lỗi thời gian chờ cURL trong WordPress.
Một máy chủ lưu trữ WordPress được cấu hình kém có thể chỉ đơn giản là có ngưỡng thời gian chờ rất thấp, điều này có thể dừng các quy trình WordPress nhất định chạy đúng cách.
Điều đó đang được nói, chúng ta hãy xem cách khắc phục sự cố và khắc phục sự cố ‘cURL error 28: Connection timed out’ trong WordPress.
Nếu bạn đang sử dụng tường lửa WordPress hoặc một plugin bảo mật, hãy tiếp tục và tạm thời hủy kích hoạt nó.
Sau đó, bạn cần truy cập trang báo cáo tình trạng trang web WordPress để xem vấn đề của bạn đã được giải quyết chưa.
Nếu có, thì bạn cần kiểm tra nhật ký tường lửa WordPress của mình để xem yêu cầu API nào đã bị chặn.
Điều này sẽ xác định nguồn gốc của vấn đề hoặc bạn có thể điều chỉnh cài đặt tường lửa để không chặn các yêu cầu API hợp pháp.
Các plugin WordPress thực hiện các yêu cầu API của riêng chúng để gửi và nhận dữ liệu. Nếu các cuộc gọi này quá thường xuyên hoặc mất quá nhiều thời gian để hoàn thành thì điều này có thể gây ra lỗi cURL trong báo cáo tình trạng trang web của bạn.
Cách dễ nhất để tìm ra điều này là tắt tất cả các plugin WordPress. Chỉ cần truy cập trang Plugins »Plugins đã cài đặt và chọn tất cả các plugin.
Sau đó, nhấp vào Hành động hàng loạt thả xuống để chọn ‘Hủy kích hoạt’ và sau đó nhấp vào nút ‘Áp dụng’.
Bây giờ bạn có thể truy cập báo cáo Tình trạng trang web để xem liệu sự cố có biến mất hay không. Nếu điều này giải quyết được sự cố, thì bạn có thể bắt đầu kích hoạt từng plugin của mình cho đến khi sự cố xuất hiện lại.
Điều này sẽ giúp bạn tìm thấy plugin có thể gây ra sự cố và sau đó bạn có thể yêu cầu tác giả plugin hỗ trợ.
Bước tiếp theo là đảm bảo rằng máy chủ lưu trữ WordPress của bạn đang sử dụng phiên bản mới nhất của PHP, thư viện cURL và OpenSSL.
Bạn có thể kiểm tra điều đó bằng cách xem tab thông tin hệ thống trong trang Công cụ »Tình trạng trang web .
Chỉ cần chuyển sang tab ‘Thông tin’ và mở rộng phần ‘Máy chủ’. Từ đây, bạn có thể lấy thông tin về phần mềm được cài đặt trên máy chủ lưu trữ WordPress của mình.
Tốt nhất, máy chủ của bạn nên sử dụng PHP 7.4.13 trở lên, curl 7.74.0 trở lên và OpenSSL 1.1.1 trở lên.
Nếu không, thì bạn cần liên hệ với công ty lưu trữ WordPress của mình và yêu cầu họ cập nhật phần mềm cho tài khoản lưu trữ của bạn.
Nếu trang web WordPress của bạn đang sử dụng HTTPS / SSL , nhưng nó không được định cấu hình đúng cách, thì điều này cũng có thể khiến máy chủ web của bạn chặn các yêu cầu cURL không an toàn.
Tương tự, nếu trang web WordPress của bạn không sử dụng HTTPS / SSL, nhưng nó đã thực hiện lệnh gọi API bằng URL HTTP, thì những yêu cầu đó cũng sẽ không thành công và thay vào đó bạn có thể thấy lỗi cURL sau:
Error: cURL error 7: Failed to connect to localhost port 443: Connection refused (http_request_failed)
Để khắc phục điều này, bạn có thể yêu cầu nhà cung cấp dịch vụ lưu trữ cài đặt lại chứng chỉ SSL cho trang web của mình. Nếu sự cố vẫn tiếp diễn, hãy làm theo hướng dẫn của mình về cách khắc phục các sự cố SSL phổ biến để thiết lập SSL đúng cách trên trang web WordPress của bạn.
Mình hy vọng bài viết này đã giúp bạn tìm hiểu cách sửa lỗi cURL 28: Connection timed out trong WordPress. Cám ơn bạn đã dành thời gian xem qua bài viết này.