Computer >> Máy Tính >  >> Kết nối mạng >> Internet

Tình trạng trang web WordPress - lỗi cURL 28 (API REST, loopback)

Gần đây, tôi phát hiện ra một vấn đề nhỏ thú vị. Tôi chạy WordPress trên trang web chỉ dành cho sách của mình và đương nhiên, cần phải thực hiện thử nghiệm để đảm bảo mọi thứ đều ổn trước khi có bất kỳ thay đổi nào được đưa vào miền. Một thay đổi như vậy là việc giới thiệu công cụ Kiểm tra tình trạng trang web trong WordPress 5.2, cho bạn biết mọi vấn đề nghiêm trọng và các hành động được đề xuất cho thiết lập của bạn.

Về bản thân, điều này không sao, nhưng sau đó tôi nhận thấy một vài lỗi được cho là nghiêm trọng xuất hiện với bản cập nhật lên 5.4, cho thấy một vấn đề mới đột ngột xảy ra với miền. Các lỗi là:API REST gặp lỗi và Trang web của bạn không thể hoàn thành yêu cầu lặp lại. Chi tiết cho cả hai nội dung này đều được đọc:Lỗi:lỗi cURL 28:Thao tác đã hết thời gian chờ sau 10000 mili giây với 0 byte nhận được (http_request_failed). Kỳ dị. Hãy gỡ lỗi.

Vấn đề chi tiết hơn

Các vấn đề nghiêm trọng nghe có vẻ đáng báo động. Nhưng sau đó, bạn cần xem xét các vấn đề tiềm ẩn một cách cẩn thận, để hiểu tác động thực sự là gì. Thông thường, các công ty quá khắt khe với cách họ xử lý các lỗi và sự cố, bởi vì không ai muốn bị buộc tội là quá lỏng lẻo với các vấn đề có thể dẫn đến phức tạp về bảo mật. Vì vậy, hãy xem báo cáo trạng thái:

Tình trạng trang web WordPress - lỗi cURL 28 (API REST, loopback)

Vấn đề đầu tiên đọc như sau:

API REST gặp lỗi

API REST là một cách mà WordPress và các ứng dụng khác giao tiếp với máy chủ. Một ví dụ là màn hình trình chỉnh sửa khối, dựa trên màn hình này để hiển thị và lưu các bài đăng và trang của bạn.

Yêu cầu API REST không thành công do lỗi.
Lỗi:lỗi cURL 28:Thao tác đã hết thời gian chờ sau 10001 mili giây với 0 byte nhận được (http_request_failed)

Cái thứ hai có nội dung như sau:

Trang web của bạn không thể hoàn thành yêu cầu lặp lại

Yêu cầu lặp lại được sử dụng để chạy các sự kiện đã lên lịch và cũng được trình chỉnh sửa tích hợp sẵn cho các chủ đề và plugin sử dụng để xác minh tính ổn định của mã.

Yêu cầu lặp lại tới trang web của bạn không thành công, điều này có nghĩa là các tính năng dựa vào chúng hiện không hoạt động như mong đợi.
Lỗi:lỗi cURL 28:Thao tác đã hết thời gian chờ sau 10001 mili giây với 0 byte nhận được (http_request_failed)

Lỗi đầu tiên cho chúng tôi biết rằng đây là một cách mà WordPress sử dụng để giao tiếp với máy chủ - điều này có nghĩa là có những cách khác. Lỗi này không rõ liệu điều này có thực sự gây ra các sự cố có thể xảy ra khi thực hiện các thao tác khác nhau hay không.

Nó đề cập cụ thể đến trình chỉnh sửa khối - toàn bộ thứ Gutenberg mới được giới thiệu trong WordPress 5.0, mà tôi không sử dụng và thay vào đó dựa vào Trình chỉnh sửa cổ điển tuyệt vời. Vì vậy, có lẽ đây không phải là vấn đề để bắt đầu. Sau đó, có câu hỏi về chức năng thực tế - không có chức năng nào được đề cập bị ảnh hưởng. WordPress hoạt động và làm mọi thứ như bình thường. Có lẽ là dương tính giả? Chúng ta sẽ thấy sớm thôi.

Lỗi thứ hai nói về các sự kiện đã lên lịch - như cập nhật nền, tác vụ qua đêm, v.v. Một lần nữa, nếu bạn chưa định cấu hình gì, thì đây không phải là sự cố. Nếu bạn làm như vậy và chúng chạy chính xác, thì sự cố sẽ không ảnh hưởng đến bạn. Lỗi có nội dung "hoạt động như mong đợi" - nhưng đây không phải là một tuyên bố chính xác, rất xác định. Điều này làm cho việc khắc phục sự cố trở nên khó khăn hơn.

Nguồn gốc của vấn đề

Nhưng hãy giả sử rằng đây thực sự là những vấn đề thực sự. Câu hỏi đặt ra là, làm thế nào để bạn khắc phục sự cố chúng bắt nguồn từ đâu? Đó không phải là điều dễ dàng và không có thông báo lỗi thực tế nào có thể giúp bạn đi đúng hướng.

Vì vậy, những gì tôi phải làm là tắt từng thành phần không phải mặc định theo cách thủ công, sau đó chạy lại kiểm tra tình trạng, để xem liệu có bất kỳ thành phần cụ thể nào bị lỗi hay không. May mắn thay, tôi có thể thử nghiệm điều này khi rảnh rỗi, nhưng hãy tưởng tượng tác động trong thiết lập sản xuất.

Bây giờ ... sau một thời gian, tôi đã thử mọi plugin và chủ đề mà tôi đang sử dụng và dường như không cái nào trong số này ảnh hưởng đến kết quả. WordPress tiếp tục phàn nàn. Sau đó, tôi quyết định mở rộng tìm kiếm của mình. Tôi tình cờ đang sử dụng tệp .htaccess, với xác thực cơ bản và một vài chi tiết hữu ích khác, làm lớp kiểm soát truy cập thứ cấp vào trang quản trị. Lo và kìa, loại bỏ phần xác thực đã sửa nó. Không còn lỗi kiểm tra tình trạng nữa!

AuthType Basic
AuthName bị hạn chế
AuthUserFile /home/masstablasta/wp-admin/passwd
Yêu cầu người dùng hợp lệ

Vì vậy, có vẻ như - Sức khỏe trang web WordPress không thích các tệp .htaccess. Tôi chưa khám phá chính xác làm thế nào điều này chuyển séc, nhưng sau đó, tôi không cần phải làm vậy. Một, tôi biết nguồn gốc của vấn đề là gì. Thứ hai, lỗi không ảnh hưởng đến chức năng mà tôi muốn và cần, do đó đây không phải là sự cố.

Kết luận

Rõ ràng là các vấn đề trong Tình trạng trang web là nội bộ - xét cho cùng, chúng chỉ bắt đầu xuất hiện khi chuyển sang WordPress 5.4. Tất nhiên, một số đoạn mã ở đâu đó đã thay đổi, nhưng sau đó, về cơ bản, nếu hành vi của sản phẩm cốt lõi đột nhiên khác hoàn toàn so với trước khi cập nhật và không có vấn đề lớn nào trong các yếu tố khác của chức năng trang web, thì đó là rất có thể vấn đề bắt nguồn từ bản cập nhật sản phẩm cốt lõi nói trên.

Tôi thích ý tưởng về loại vấn đề trong nháy mắt của trang web này, nhưng tôi không hài lòng với những thông tin xác thực sai hoặc trò đuổi bắt ngỗng mà các lỗi đã tạo ra cho tôi, dù chỉ trong thời gian ngắn. Lỗi cần phải có ý nghĩa. Nếu tôi không hiểu rõ điều gì có thể sai từ cách biểu hiện lỗi, thì thực sự chẳng ích gì khi hiển thị các chi tiết kỹ thuật. Lỗi cURL 28 và .htaccess dường như cách xa nhau. Dù sao, chúng tôi ở đây. Nếu bạn bị ảnh hưởng bởi một vấn đề tương tự, hãy xem cấu hình trang web của bạn, xem liệu bạn có đang sử dụng xác thực cơ bản hay không và có thể đang mắc phải lỗi tương tự. Chúng ta đã hoàn thành ở đây.

Chúc mừng.