Trong quá trình sử dụng Web thì ai cũng sẽ gặp lỗi, từ đơn giản đến phức tạp, và hầu như các lỗi đều không có nguyên nhân cụ thể, trong đó có lỗi 429 Too Many Request.
Bài viết sau đây sẽ giúp bạn biết được các nguyên nhân phổ biến sinh ra lỗi 429 Too Many Request và những cách sửa lỗi hiệu quả nhất.
Lỗi HTTP 429 là gì?
Khi người dùng gửi quá nhiều yêu cầu trong một thời gian ngắn thì máy chủ sẽ thông báo lỗi HTTP 429, mã 429 thường dùng trong các lỗi liên quan đến giới hạn tốc độ.
Nguyên nhân xảy ra tình trạng lỗi 429 Too Many Request
Khi máy chủ nghi ngờ một người dùng có có hành vi cố tình truy cập quá nhiều lần trong khoảng thời gian ngắn vào một trang web cụ thể, nó sẽ kích hoạt tính năng giới hạn tốc độ. Điều này giúp tránh các cuộc tấn công vào trang web.
Ngoài ra máy chủ còn tính số lần yêu cầu bằng cookie, do đó bạn cũng có thể gặp lỗi HTTP 429 khi bộ nhớ ghi lại số lần yêu cầu của bạn vượt giới hạn. Các lỗi hiển thị như sau:
- 429 Too Many Requests
- 429 Error
- HTTP 429
- Error 429 (Too Many Requests)
Lỗi cũng có thể hiển thị dạng chi tiết với nguyên nhân sinh ra và thời gian có thể truy cập lại. Ví dụ:
Nhưng dù cho lỗi có xuất hiện dạng nào thì ý nghĩa của nó vẫn như nhau. Lỗi này có thể tự mất đi nhưng khi xảy ra do plugin hoặc DDOS thì bạn phải tự giải quyết nó.
Vấn đề khi lỗi 429 xảy ra là khiến bạn không thể truy cập vào trang web của mình, khiến cho việc sửa lỗi trở nên khó khăn hơn, nhưng nếu chịu khó tìm hiểu bạn vẫn có thể giải quyết được.
5 cách sửa lỗi 429 Too Many Request
Việc xử lý nhiều lỗi ở WordPress cũng giúp bạn có kinh nghiệm khi gặp các lỗi như 429 cùng với nhiều tiềm ẩn sinh ra nó.
Các phương pháp sau giúp khắc phục nó trong WordPress:
- Thay đổi URL đăng nhập mặc định của WordPress
- Vô hiệu hóa plugin Really Simple SSL và sửa các internal link trong website
- Vô hiệu hóa tạm thời tất cả các plugin
- Chuyển sang Theme WordPress mặc định
- Liên hệ với nhà cung cấp dịch vụ hosting/web server
Cách 1: Thay đổi URL đăng nhập mặc định của WordPress
Sử dụng các request không kiểm soát khi đăng nhập trang web có thể gây ra lỗi 429. Để tránh điều này, hãy thay đổi URL mặc định của trang đăng nhập WordPress, điều này sẽ giúp ngăn chặn các tấn công bởi thành phần xấu vì họ sẽ không tìm được trang web ngay từ đầu.
Các trang web thường có URL mặc định điều hướng đến yourwebsite.com/wp-admin. Nó tuy dễ nhớ nhưng cũng nguy hiểm vì ai cũng truy cập được.
Bạn có thể dùng plugin WPS Hide Login để đổi URL WordPress mặc định miễn phí:
Đầu tiên để sử dụng nó bạn cần cài đặt và kích hoạt nó tương tự như các plugin khác. Link trang web plugin WPS Hide Login tại đây.
Tại bảng điều khiển của WordPress vào Settings > WPS Hide Login
Lúc này bạn có thể thay đổi URL mặc định của mình bằng cách nhập tiện ích mà bạn muốn, cần tạo những tiện ích khó nhớ để tránh bị xâm nhập như lúc đầu đồng thời tăng tính bảo mật.
Ngoài ra plugin này còn hỗ trợ điều hướng truy cập URL cũ sang trang khác. Ví dụ như trang lỗi 404. Sau khi hoàn thành cài đặt hãy nhớ lưu các thay đổi của bạn.
Cách 2: Vô hiệu hóa plugin Really Simple SSL và sửa các internal link trong website
Hiện nay đa số các trang web đều thiết lập chứng chỉ SSL, lúc này các trang web sẽ tải qua HTTPS thay vì HTTP, nó giúp trang web của bạn được bảo mật hơn và tối ưu hóa được công cụ SEO cho trang web.
Việc sử dụng HTTPS khá đơn giản và bạn cũng có thể làm thủ công, ví dụ như chuyến hướng đến .htaccess. Đây là một trong những lựa chọn phổ biến để thực thi Really Simple SSL Plugin:
Plugin này yêu cầu các trang web phải tải qua HTTPS chỉ bằng cú click chuột. Tuy nhiên điều này cũng có thể gây ra lỗi 429.
Khi bạn triển khai HTTPS thủ công bạn còn phải quan tâm đến vấn đề liên kết nội bộ, vì có thể có rất nhiều liên kết nội bộ trên trang web của bạn. Do đó hãy tìm phiên bản HTTPS dự trù khi tắt plugin.
Đầu tiên, bạn cần tắt plugin, nếu ở tư cách là Administrator thì việc này khác dễ dàng, bạn chỉ cần nhấn Deactivate:
Tuy nhiên do lỗi 429 khiến bạn không truy cập được dashboard, do đó bạn cần dùng cách thủ công khác bằng ứng dụng khách FTP.
Sau khi tắt plugin Really Simple SSL thì lỗi 429 sẽ biến mất. Lúc này bạn có thể truy cập dashboard để cài đặt một plugin mới là Search and Replace:, nó giúp bạn thay thế tất cả các liên kết nối bộ trong một lần.
Tiếp tục và kích hoạt plugin, sau đó điều hướng đến tab Tools > Search & Replace trong WordPress. Bên trong, chọn bảng wp_postmeta, sau đó nhập các tham số sau cùng với các trường Search và Replace tương ứng:
Nếu domain website của bạn không chứa www:
Trong trường hợp, tên miền có ‘www’ trong cơ sở dữ liệu của bạn, bạn nên chạy một tìm kiếm khác và thay thế bằng các cài đặt bên dưới.
Nếu domain website của bạn chứa www:
Để thay thế tên miền có ‘www’ trong cơ sở dữ liệu, hãy chạy một tìm kiếm khác và thay thế bằng các cài đặt bên dưới:
Chọn tùy chọn run, tùy chọn này sẽ liệt kê các trường hợp URL HTTP mà plugin sẽ thay thế trong cơ sở dữ liệu. Sau khi run xong, hãy kích hoạt plugin cần thiết và nó sẽ thay thế tất cả các liên kết cần thiết.
Sau khi tắt plugin Really Simple SSL, bạn cũng sẽ cần chuyển hướng URL bằng tệp .htaccess của mình. Điều này giúp bạn triển khai HTTPS một cách hiệu quả mà không bị 429 lỗi trong tương lai.
Cách 3: Vô hiệu hóa tạm thời tất cả các plugin
Thực tế thì bất kỳ plugin nào cũng có thể gây ra sự cố 429 không riêng plugin Really Simple SSL, nếu nó vượt qua giới hạn yêu cầu. Nếu cả hai phương pháp không không giải quyết được trường hợp của bạn, hãy thử tắt tất cả các plugin của bạn cùng một lúc, để kiểm tra nguyên nhân vấn đề.
Giả sử trong trường hợp này bạn không truy cập được dashboard của trang web để tắt plugin. Lúc này bạn cần sự trợ giúp từ ứng dụng khác FTP như Filezilla để điều hướng đến public_html/wp-content/.
Một số thư mục bên trong đó được gọi là plugin:
Nhấp chuột phải vào thư mục và đổi thành tên khác ví dụ plugins.deactiised. Lúc này, WordPress sẽ không thể ‘tìm thấy’ bất kỳ plugin nào và nó sẽ tự động hủy kích hoạt tất cả chúng. Trước khi truy cập lại trang web, hãy tạo một thư mục trống mới tên plugin sẽ giúp WordPress hoạt động như bình thường.
Nếu truy cập lại trang web không còn lỗi 429, thì nguyên nhân có thể bắt nguồn từ một trong các plugin đã tắt. Hãy thu nhỏ diện tích các nguyên nhân gây sự cố bằng cách:
Xóa thư mục plugin trống mà bạn đã vừa thiết lập, khôi phục các plugin về trạng thái ban đầu:
- Vào thư mục plugin.
- Đổi tên một trong các thư mục plugin giúp hủy kích hoạt từng plugin cụ thể.
- Truy cập lại trang web và kiểm tra lỗi 429.
- Nếu lỗi vẫn tiếp diễn, hãy trả plugin về trạng thái ban đầu và áp dụng các bước với plugin khác.
Thực hiện tuần tự các plugin đang hoạt động bạn sẽ tìm được thủ phạm gây ra lỗi. Sau khi bạn tìm ra plugin nào gây ra lỗi 429 bạn có thể xóa nó hoàn toàn để khắc phục sự cố.
Cách 4: Chuyển sang Theme WordPress mặc định
Nếu plugin không phải là nguyên nhân gây ra lỗi 429 của bạn, thì có thể lỗi từ theme WordPress mặc định. Hãy tắt Theme WordPress mặc định để xác định xem có phải lỗi do nó không, buộc WordPress phải đổi sang một trong các Theme mặc định cùng với CMS.
Quá trình này hoạt động giống như vô hiệu hóa plugin theo cách thủ công. Nếu khởi chạy bằng ứng dụng khách FTP thì lần này sẽ điều hướng đến thư mục public_html/wp-content/themes. Lúc này cần tìm thư mục tương ứng theme đang hoạt động của bạn và đổi tên nó thành bất kỳ thứ gì khác mà bạn muốn.
Hãy thử truy cập lại trang web và kiểm tra lỗi 429 Too Many Request. Lúc này trang web sẽ hơi khác nhưng đừng lo lắng, theme và tất cả các tùy chỉnh vẫn không thay đổi.
Điều bạn cần làm là trả lại thư mục chủ đề về tên ban đầu và kích hoạt nó một lần nữa. Nếu lỗi 429 lại xuất hiện, thì bạn cần phải liên hệ với nhà phát triển theme hoặc cân nhắc thay đổi theme cho trang web và xóa theme bị lỗi.
Cách 5: Liên hệ với nhà cung cấp dịch vụ hosting/web server
Ngoài ra, nguyên nhân gây ra lỗi 429 có thể bắt nguồn từ máy chủ của bạn. Nếu đúng là như vậy thì bạn không thể tự giải quyết vấn đề được.
Ví dụ: một số máy chủ web sẽ chặn các yêu cầu từ các dịch vụ hoặc nền tảng bên thứ ba cụ thể. Chúng có thể bao gồm các công cụ tìm kiếm, trình thu thập thông tin, … thực hiện một số lượng lớn các yêu cầu đến trang web của bạn.
Liên hệ với nhà cung cấp dịch vụ nhờ họ hỗ trợ những yêu cầu này. Ngoài ra, kể cả các giới hạn do máy chủ đặt không phải là nguyên nhân gây ra sự cố, họ có thể cung cấp thông tin chi tiết và lời khuyên có giá trị có thể giúp bạn tìm ra giải pháp chính xác.
Tổng kết
Bất kỳ ai khi phải lỗi trên trang web luôn mang đến phiền phức cho người dùng. Tuy nhiên đối với các lỗi có mã trạng thái ít nhất cũng cung cấp cho bạn một ít thông tin để dễ sửa lỗi hơn. Nếu bạn gặp phải lỗi 429 Too Many Request bạn sẽ biết rằng nó liên quan đến giới hạn truy cập, vì vậy vấn đề chỉ là xác định nguồn gốc của lỗi là gì.