Mã phản hồi HTTP, đặc biệt là những mã hiển thị mã lỗi, có thể khó xử lý. Một mã lỗi như vậy khó khắc phục là lỗi 502 Bad Gateway. Đó là vì nó thường là kết quả của mối quan hệ rộng và phức tạp giữa client, server, chương trình web, và nhiều yếu tố khác bên ngoài dịch vụ web.
Vì vậy, xác định nguyên nhân chính xác của lỗi 502 Bad Gateway có thể khó khăn và令人沮丧. Nếu bạn là người dùng cố truy cập trang web hiển thị vấn đề này hoặc lập trình viên web tìm hiểu tại sao trang web của bạn ném ra lỗi này, hãy đọc tiếp để biết nguyên nhân và cách khắc phục.
Lỗi 502 Bad Gateway là gì?
Mỗi khi bạn truy cập trang web, trình duyệt gửi yêu cầu đến máy chủ web. Máy chủ web nhận yêu cầu, xử lý nó, sau đó "trả về" thông tin được yêu cầu cùng với mã trạng thái HTTP và tiêu đề HTTP. Kết nối hoạt động sẽ trả về mã trạng thái HTTP 200 và nội dung web hiển thị trên trình duyệt. Thường thì bạn không thấy mã trạng thái HTTP hiển thị trừ khi có vấn đề về giao tiếp giữa các máy chủ web.
Lỗi 502 Bad Gateway là một trong các mã trạng thái HTTP. Mã lỗi này chỉ ra rằng máy chủ web bạn đã kết nối, trong khi đóng vai trò cổng (gateway) truyền thông tin từ máy chủ khác, đã nhận được phản hồi không hợp lệ (bad) từ máy chủ kia. Nó thường được kích hoạt khi có vấn đề giao tiếp giữa máy chủ upstream (nguồn gốc) và máy chủ cổng (gateway).
Nguyên nhân gây lỗi 502 Bad Gateway?
Lỗi 502 có thể xuất hiện vì nhiều lý do. Dưới đây là một vài.
1. Quá tải máy chủ (Server Overload)
Một trong những nguyên nhân chính của lỗi 502 Bad Gateway là quá tải máy chủ. Nếu máy chủ quá tải, bạn có thể thường gặp lỗi bad gateway. Lưu ý máy chủ có thể sập nếu đã hết bộ nhớ. Lượng truy cập lớn vào trang cũng có thể kích hoạt lỗi 502.
2. Lỗi mạng (Network Errors)
Vấn đề định tuyến, sự cố DNS, và vấn đề liên quan đến ISP cũng có thể kích hoạt lỗi 502 Bad Gateway. Vấn đề với thiết bị mạng tại nhà có thể khiến trình duyệt nghĩ có vấn đề với máy chủ trực tuyến, ngay cả khi không có.
3. Lập trình lỗi (Faulty Programming)
Nếu có lỗi trong mã trang web, nó có thể ngăn yêu cầu được xử lý đúng. Điều này có thể khiến lỗi 502 Bad Gateway xuất hiện.
4. Cấu hình tường lửa không đúng (Improper Firewall Configuration)
Bằng cách giám sát lưu lượng mạng, tường lửa đóng vai trò gác cổng quyết định lưu lượng nào an toàn và nào có thể độc hại. Nó do đó chặn tất cả lưu lượng có khả năng gây hại. Trong một số trường hợp, đặc biệt là người dùng dựa vào Mạng phân phối nội dung (CDN), tường lửa tự động có thể false positive (dương tính giả) và chặn lưu lượng quan trọng.
5. Hết thời gian chờ phần mềm máy chủ (Server Software Timeouts)
Lỗi 502 Bad Gateway cũng có thể được kích hoạt khi máy chủ web mất quá nhiều thời gian hoàn thành yêu cầu, khiến công cụ cache đạt giá trị timeout.
Cách chẩn đoán lỗi 502
Mặc dù lỗi 502 Bad Gateway thường do vấn đề giữa các máy chủ trực tuyến, vẫn có bước bạn có thể làm ở phía mình để thử sửa. Dưới đây là một số cách sửa có thể.
1. Kiểm tra trang web có sập cho mọi người không
Khi gặp lỗi 502, quan trọng trước hết kiểm tra trang có sập cho mọi người hay chỉ bạn. Công cụ trực tuyến cho bạn biết người dùng khác có gặp vấn đề truy cập trang không là "Down for everyone or just me" (Sập cho tất cả hay chỉ tôi).

Công cụ trực tuyến tuyệt vời khác, cũng khá dễ dùng, là "Is It Down Right Now?". Chỉ cần cắm URL trang, bạn có thể kiểm tra trạng thái máy chủ.

Công cụ này thậm chí hiển thị lần cuối máy chủ sập. Nếu trang sập cho mọi người, bạn không làm gì nhiều. Nhưng nếu công cụ cho thấy máy chủ hoạt động, vấn đề có thể ở phía bạn. Hãy thử một vài mẹo dưới đây.
2. Tải lại trang web (Reload)
Đôi khi máy chủ của bạn mất thời gian phản hồi do tăng traffic. Nếu vậy, tải lại trang có thể giải quyết. Nếu cách này sửa được, vấn đề chỉ tạm thời, bạn không cần lo lắng.
Tuy nhiên, nếu cách này không sửa hoặc vấn đề xảy ra thường xuyên, bạn sẽ muốn đào sâu hơn, vì có thể có điều khác cần sửa.
3. Tắt tường lửa hoặc CDN
Nếu bạn dùng tường lửa trang web hoặc dịch vụ CDN trên trang của mình, có thể máy chủ của chúng đang gặp sự cố. Để tìm ra, bạn cần tạm thời tắt CDN. Việc này sẽ loại bỏ lớp thêm giữa trình duyệt và máy chủ lưu trữ.
Trang web của bạn giờ sẽ tải trực tiếp từ máy chủ của bạn, và nếu vấn đề do tường lửa/CDN, bạn sẽ biết. Nếu cách này sửa được, bạn có thể tham khảo nhà cung cấp CDN để được hỗ trợ.
4. Xóa cache và cookie trình duyệt
File cache lỗi thời hoặc cookie cũng có thể gây lỗi 502. Xóa file cache này, rồi tải lại trang web có thể giải quyết vấn đề.

Nếu bạn không muốn xóa tất cả cookie, bạn có thể thử xóa cookie liên quan đến trang web bạn gặp lỗi 502 trước.
5. Xóa cache DNS
Lỗi 502 Bad Gateway cũng có thể do sự cố DNS cục bộ, như DNS không thể phân giải hostname hoặc IP đúng. Giải pháp ở đây là xóa cache DNS (flush DNS cache). Để làm vậy, mở dấu nhắc lệnh (Win + R), gõ cmd trong hộp văn bản, nhấn Enter, rồi gõ lệnh sau:
ipconfig /flushdns
Nếu thành công, thông báo "Successfully flushed the DNS resolver cache" (Đã xóa thành công bộ nhớ đệm bộ phân giải DNS) sẽ hiển thị.

Điều này nên sửa vấn đề nếu cache DNS là thủ phạm.
6. Tham khảo nhà cung cấp lưu trữ (Hosting)
Một trong những lý do chính gây lỗi 502 là vấn đề với nhà cung cấp web host. Đôi khi yêu cầu bị máy chủ hủy nếu mất quá nhiều thời gian. Đó là vì hầu hết host triển khai cái họ gọi là "kill script" (script diệt). Chính script diệt này chấm dứt yêu cầu nếu nó mất thời gian lâu hơn bình thường để ngăn truy vấn đó làm sập trang hoặc ảnh hưởng người dùng khác.
Nếu host của bạn chạy kill script hời hợt, bạn có thể thường gặp báo cáo lỗi 502. Bạn cũng có thể gặp lỗi 502 nếu máy chủ host sập hoặc không thể truy cập vì lý do nào đó. Kiểm tra với host có thể giúp xác định nguyên nhân và có thể tìm ra giải pháp.
7. Khởi động lại máy tính / thiết bị mạng
Một số vấn đề với máy tính, đặc biệt là vấn đề ảnh hưởng đến cách nó kết nối mạng, cũng có thể gây lỗi 502. Khởi động lại đơn giản nên sửa được. Vấn đề với thiết bị mạng — modem, router, v.v. — cũng có thể là thủ phạm. Trong trường hợp đó, khởi động lại đơn giản nên giúp bạn online trở lại.
8. Thử trình duyệt khác
Như đã nói, trình duyệt của bạn có thể nghĩ có vấn đề thực sự với máy chủ ngay cả khi không có. Thử mở trang với trình duyệt khác. Nếu trình duyệt thay thế không hiển thị lỗi 502 Bad Gateway, bạn sẽ biết trình duyệt gốc là thủ phạm.
Tóm lại
Lỗi 502 Bad Gateway rất phổ biến, và mặc dù lỗi này liên quan đến máy chủ, bạn vẫn có thể làm gì đó ở phía mình để khắc phục. Hy vọng những mẹo này sẽ giúp bạn giải quyết lỗi 502 trong tương lai và có trải nghiệm duyệt web suôn sẻ.
Bài viết này có giúp ích không? Tự do bình luận và chia sẻ.