Các cách khắc phục lỗi 502 bad gateway

Lỗi 502 bad gateway là gì

Lỗi 502 bad gateway là lỗi thông báo không thể truy cập web do vấn đề xuất hiện tại gateway của bạn.

3

502 bad gateway

Một số dạng thông báo về lỗi 502 bad gateway:

  • 502 Proxy Error
  • Bad Gateway: The proxy server received an invalid response from an upstream server.
  • 502 Server Error: The server encountered a temporary error and could not complete your request.
  • HTTP 502
  • 502 Bad Gateway
  • Temporary Error (502)
  • 502 Service Temporarily Overloaded
  • Error 502
  • 502. That’s an error.
  • HTTP Error 502 – Bad Gateway.

Xem thêm khắc phục lỗi 503 Service Unavailable

Nguyên nhân gây ra lỗi 502 Bad Gateway

  • Do server quá tải hoặc đang nâng cấp
  • Sử dụng Nginx chạy như một proxy cache cho máy chủ Apache
  • Nginx chạy cùng dịch vụ khác với vai trò là gateway hoặc do Nginx chày cung php-fpm
  • Cấu hình buffering/time out của máy chủ chưa tốt.
  • Do gateway của máy chủ đã cũ và không hoạt động tốt.

Cách khắc phục lỗi 502 Bad Gateway

Cách 1: Xóa lịch sử trình duyệt web

Mở trình duyệt click vào góc phải ở chrome có dấu 3 chấm năm dọc, còn ở Firefox là hình bánh răng , tiếp đó chọn History ( Lịch sử). Các bạn có thể sử dụng tổ hợp phím Ctrl + H.

2

Xóa lịch sử trình duyệt

Tại đây bạn chọn xóa dữ liệu web…. Lúc này sẽ hiện ra một bảng xóa dữ liệu web chọn thời gian xóa ở mục xóa các mục sau từ: (giờ trước, ngày trước, tuần trước, …) sau đó chộn xóa dữ liệu duyệt web.

Sau khi xóa lịch sử thành công bạn thử truy cập lại website và xem đã khắc phục được chưa.

Cách 2: Truy cập web bằng chế độ ẩn danh

Bạn có thể truy cập ẩn danh vào web đó bằng cách lựa chọn thay đổi quyền truy cập ở góc phải trình duyệt. Hoặc bạn có thể sử dụng phím tắt Ctrl +shift + N đối với trình duyệt Chrome, và  Ctrl + Shift + P đối với trình duyệt firefox.

Cách 3: Thử sử dụng trình duyệt khác

Thử sử dụng trình duyệt khác như Firefox, Cốc Cốc, Opera, Chrome Preium, …, để truy cập vào website xem có bị lỗi 502 không.

Cách 4: Đổi DNS trên máy tính của bạn

Hướng dẫn đổi DNS server trên máy tính cá nhân.

Nếu tất cả các cách trên đều không giúp bạn sửa được lỗi 502 thì bạn nên liên hệ cho kỹ thuật của website đó để thông báo về lỗi.

Nếu bạn là người quản trị Web

Với mỗi nguyên nhân bên trên ta sẽ có những cách xử lý như sau:

1. Sử dụng Nginx chạy như một proxy cache cho máy chủ Apache: Trong trường hợp này, gateway là apache. Khi bạn sử dụng Nginxlàm proxy cho Apache, nếu Apache die hay nó không được cấu hình tốt, nó có thể là gây là lỗi 502. Vậy ta có thể sửa lỗi 502 bad gateway trong trường hợp này như thế nào? có thể bạn chỉ cần khởi động lại Apache web server là được, tuy nhiên bạn phải kiểm tra file logs để biết nguyên nhân chính xác gây ra lỗi này.

2. nginx đang chạy cùng php-fpm: Cũng như trường hợp Apache , nguyên nhân có thể do php bị ngừng hoạt động hoặc nó bị quá tải khi xử lý các request. PHP-FPM hoạt động không chính xác và không thể xử lý tất cả các request từ Nginx, và lỗi 502 bad gateway xuất hiện. Và lần này, sửa lỗi bằng cách khởi động lại php-fpm và xem logs.

Chỉnh www.conf và vhost.conf ( trong centos: /etc/php-fpm.d/www.conf và /etc/nginx/conf.d/vhost.conf) Bạn thử thay sang trường hợp còn lại nếu trường hợp kia bị lỗi sau đó khởi động lại php-fpm. Lưu ý giá trị này trong www.conf và vhost.conf phải giống nhau.

listen = /var/run/php–fpm/php–fpm.sock

hoặc

listen = 127.0.0.1:9000

3. nginx chạy cùng với dịch vụ khác với vai trò là gateway: Cố gắng khởi động lại các dịch vụ đó và kiểm tra log để tìm ra nguyên nhân lỗi.

4. Cấu hình buffering/timeout chưa tốt

Khi bạn gặp lỗi Bad Gateway trên Nginx thì việc đầu tiên là bạn phải coi file log của Nginx trên VPS, thông thường sẽ nằm tại “/var/log/nginx/error.log”

Khi bạn mở file log ra và kéo xuống dưới cùng sẽ thấy có đoạn báo lỗi tương tự như sau “…upstream sent too big header while reading response header from upstream…” .

Nguyên nhân của lỗi này là do dữ liệu trả về từ PHP-FPM cho Nginx vượt mức giới hạn, do đó bạn cần tăng giới hạn này lên bằng cách thêm 2 dòng sau vào block http {…} của file cấu hình “/etc/nginx/nginx.conf” như sau :

http {

#…

fastcgi_buffers 64 64k;

fastcgi_buffer_size 64k;

#…

}

Fastcgi Buffer là cách Nginx xử lý dữ liệu trả về từ PHP-FPM để lưu trong bộ nhớ RAM nhằm tăng tốc quá trình xử lý, giá trị của Fastcgi Buffer tuỳ thuộc vào bộ nhớ RAM VPS/Server của bạn.

Sau đó bạn lưu lại file cấu hình của Nginx và khởi động lại Nginx bằng lệnh sau trên CentOS :

service nginx restart

5. Lựa chọn thay đổi máy chủ khác hoặc thuê máy chủ khác để khắc phục lỗi 502 bad gateway

Chúc các bạn thành công khắc phục lỗi 502 bad gateway.

Từ khóa liên quan:

  • bad gateway nginx
  • lỗi 502 bad gateway
  • 502 gateway error
  • lỗi 502 bad gateway là gì
  • 502 bad gateway error nginx
  • lỗi 502 là gì
  • sửa lỗi 502 bad gateway
  • lỗi 502 bad gateway nginx
  • lỗi http 502 bad gateway
  • fix lỗi 502 bad gateway
  • báo lỗi 502 bad gateway
  • bị lỗi 502 bad gateway
  • chữa lỗi 502
  • lỗi 502 bad gateway và cách khắc phục
  • sửa lỗi 502