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
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
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ộ
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.
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 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 :
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