Nguyên nhân và cách khắc phục lỗi 502 bad gateway

Tin Tức

Hiện nay rất nhiều website gặp phải lỗi 502 khi truy cập vào website. Về cơ bản lỗi 502 có thể do chính người sử dụng gây ra hoặc bản thân website gặp lỗi. Trước đây EPL cũng đã gặp phải tình trạng này, khi người dùng truy cập vào dịch vụ thiết kế website thương mại điện tử hay bất cứ link nào trên website đều nhận được thông báo lỗi 502 Bad Gateway và không thể truy cập được. Trong bài này hãy cùng chúng tôi tìm hiểu nguyên nhân và cách khắc phục lỗi 502 bad gateway như thế nào nhé!

Lỗi 502 là gì? Nguyên nhân gây ra lỗi 502 bad gateway

Lỗi 502 là một lỗi xuất hiện thông bao không thể truy cập được trang web, xảy ra tại gateway. Vậy gateway là gì? nó có thể là một dịch vụ/phần mềm đang hoạt động và đang nhận các request – yêu cầu từ Nginx web server.

Cụ thể có những nguyên nhân chủ yếu gây ra lỗi 502 bad gateway như sau:

  • 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 đang chạy cùng php-fpm.
  • Cấu hình buffering/timeout chưa tốt.
  • nginx chạy cùng với dịch vụ khác với vai trò là gateway.

Một số thông báo bạn có thể gặp khi website xuất hiện lỗi 502 bad gateway

  • 502 Proxy Error
  • 502 Server Error: The server encountered a temporary error and could not complete your request.
  • HTTP 502
  • 502 Bad Gateway
  • 502 Service Temporarily Overloaded
  • Error 502
  • Temporary Error (502)
  • 502. That’s an error.
  • Bad Gateway: The proxy server received an invalid response from an upstream server.
  • HTTP Error 502 – Bad Gateway
Xem Ngay Bài Viết  Lỗi không thể tải ảnh từ website về máy tính được

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

Với người sử dụng web

Cách 1: Xóa lịch sử duyệt web (Chrome, Firefox)

Mở trình duyệt –> kích vào góc phải của trình duyệt –> chọn lịch sử (History) hoặc nhấn tổ hợp phím (ctrl +H) để vào nhanh

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

Tại đây bạn có thể lựa chọn xóa theo các khoảng thời gian khác nhau với nhiều mục lựa chọn muốn xóa. Tuy nhiên mình khuyên bạn nên xóa toàn bộ

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

Sau khi xóa lịch sử thành công bạn thử quay lại website và mở xem đã khắc phục được chưa nhé!

Với cách này bạn hoàn toàn có thể xóa đi những website không muốn người khác biết là bạn đã truy cập nữa đấy

Cách 2: Vào bằng chế độ ẩn danh

Bạn có thể truy cập thử bằng chế độ ẩn danh website với FireFox bạn dùng tổ hợp phím ( Ctrl +Shift +P ) và với chrome  bạn nhấn tổ hợp phím (Ctrl + Shift + N)

Cách 3: Bạn thử sử dụng bằng các trình duyệt khác, tôi xin liệt kê một số trình duyệt như:

Chrome,Yandex,Cốc cốc, Firefox,opera

Cách 4: Đổi DNS máy tính

Việc đổi DNS tôi đã có bài viết chi tiết, mời bạn đọc tại: Hướng dẫn cách thay đổi DNS

Nếu bạn đã sử dụng những cách trên mà vẫn không được. Thì phần lớn nguyên nhân là máy chủ website chưa khắc phục xong. Và bạn vui lòng quay lại trong thời gian gần nhất

Với 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:

Xem Ngay Bài Viết  99+ STT Mùa Xuân, Những câu nói độc đáo về mùa xuân mới

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/phpfpm/phpfpm.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 502 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”

Xem Ngay Bài Viết  Cách chèn shortcode vào wordpress đơn giản và nhanh chóng nhất

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

Hy vọng với những hướng dẫn trên sẽ giúp bạn khắc phục lỗi 502 hiệu quả. Bạn có những cách nào khác để khắc phục lỗi 502 bad gateway ngoài những cách trên không? Hãy chia sẻ bằng cách comment dưới bài viết để mọi người cùng tham khảo nhé!

Chúc bạn thành công!

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
5/5 - (1 bình chọn)

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *