Hãy đăng ký thành viên để có thể dễ dàng trao đổi, giao lưu và chia sẻ về kiến thức đồ họa.
  1. Hãy đăng ký subscribe kênh Youtube mới của Việt Designer tại địa chỉ: Youtube.com/VietDesignerChannel để theo dõi các video về thiết kế đồ họa. Do trước đó kênh cũ bị Youtube quét không rõ lý do, trong thời gian chờ kháng cáo nếu các bạn thấy video trên diễn đàn bị die không xem được thì có thể vào kênh mới để tìm xem video sơ cua nhé.
    Loại bỏ thông báo

Cách sửa lỗi 502 bad gateway khi truy cập vào website

Chủ đề thuộc danh mục 'Kiến thức tin học' được đăng bởi nhungluong, 16/10/15.

Lượt xem: 4,475

  1. nhungluong Banned

    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. 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é!

    Mt9JaqP.jpg

    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

    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

    jCQBUt6.png

    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ộ

    NWL4yG2.png

    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:

    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.

    Code:
    listen = /var/run/php–fpm/php–fpm.sock
    hoặc
    Code:
    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”

    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 :

    Code:
    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 :

    Code:
    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:

    ...

Ủng hộ diễn đàn