Lỗi 502 Bad Gateway là một trong những sự cố HTTP phổ biến khiến website không thể truy cập được, gây ảnh hưởng trực tiếp đến trải nghiệm người dùng và uy tín của website. Bài viết dưới đây của Tenten sẽ giải thích rõ 502 Bad Gateway là gì, phân tích các nguyên nhân […]
502 Bad Gateway là gì: Là một mã trạng thái HTTP cho biết máy chủ trung gian nhận được phản hồi không hợp lệ từ máy chủ gốc khi bạn cố gắng truy cập web.
Phân biệt với lỗi 5xx khác: 500 là lỗi nội bộ máy chủ; 502 là gateway nhận phản hồi sai từ upstream; 503 là máy chủ tạm thời không xử lý được; 504 là gateway timeout do upstream phản hồi quá chậm.
Cơ chế hoạt động của 502 Bad Gateway: Dựa trên mô hình “yêu cầu - phản hồi” của HTTP; nếu gateway không nhận được phản hồi hợp lệ từ upstream server trả về thông báo 502 cho người dùng.
Dấu hiệu nhận biết lỗi 502: Xuất hiện dưới nhiều dạng thông báo như “502 Bad Gateway”, “Bad Gateway”, “HTTP Error 502”, “502 proxy error”… tùy trình duyệt và máy chủ, đôi khi chỉ là màn hình trắng.
Hệ quả của lỗi 502 Bad Gateway: Khiến người dùng bị gián đoạn truy cập, trải nghiệm kém, trong khi chủ web phải đối mặt với tình trạng sụt giảm lượng truy cập, tổn hại uy tín thương hiệu và ảnh hưởng tiêu cực đến SEO.
Nguyên nhân gây ra lỗi 502: Do máy chủ quá tải, sự cố backend, kết nối mạng gián đoạn, tường lửa/IDS chặn nhầm, cấu hình máy chủ sai, DNS lỗi hoặc sự cố tạm thời tự khỏi.
Cách khắc phục lỗi 502 cho người dùng: Tải lại trang, khởi động lại trình duyệt/máy tính/mạng, xóa cache & cookie, dùng trình duyệt khác/chế độ ẩn danh, đổi DNS, flush DNS, liên hệ quản trị web hoặc ISP.
Cách khắc phục lỗi 502 cho quản trị viên: Kiểm tra hosting, vô hiệu hoá tạm thời CDN hoặc tường lửa, kiểm tra nhật ký lỗi (error logs), kiểm tra lập trình PHP, kiểm soát CDN, kiểm tra tất cả các Plugin.
Cách ngăn ngừa lỗi 502: Chọn hosting uy tín, tạo endpoint kiểm tra sức khỏe dịch vụ, cấu hình rõ thời gian chờ proxy, giám sát uptime upstream server, thiết lập tự động khởi động lại dịch vụ và một số giải pháp khác.
Lỗi 502 Bad Gateway là một trong những sự cố HTTP phổ biến khiến website không thể truy cập được, gây ảnh hưởng trực tiếp đến trải nghiệm người dùng và uy tín của website. Bài viết dưới đây của Tenten sẽ giải thích rõ 502 Bad Gateway là gì, phân tích các nguyên nhân chính và hướng dẫn cách xử lý hiệu quả cho cả người dùng lẫn quản trị viên website.
Contents
502 Bad Gateway là mã trạng thái HTTP thuộc nhóm lỗi 5xx, cho biết máy chủ trung gian (proxy hoặc gateway) nhận được phản hồi không hợp lệ từ máy chủ gốc (upstream server) khi bạn cố gắng truy cập một trang web.
Bạn có thể hình dung quá trình xử lý một yêu cầu truy cập website theo luồng sau:
Người truy cập → Gateway/Proxy → Upstream Server
Trong đó:
Lỗi xảy ra tại quá trình giao tiếp giữa Gateway/Proxy và Upstream Server.
Nếu upstream server không phản hồi, ngắt kết nối đột ngột, trả về phản hồi HTTP bị lỗi định dạng hoặc không hoạt động thì gateway/proxy sẽ không có không có dữ liệu hợp lệ nào để chuyển tiếp cho người truy cập. Khi đó, Gateway/Proxy trả về lỗi 502 Bad Gateway.
Ví dụ: Khi bạn truy cập một website bán điện thoại và chọn một sản phẩm để xem thông tin, yêu cầu từ trình duyệt sẽ được chuyển qua máy chủ trung gian như CDN hoặc Load Balancer trước khi đến máy chủ chính. Nếu máy chủ trung gian không nhận được phản hồi hợp lệ từ máy chủ chính, bạn sẽ thấy thông báo 502 Bad Gateway thay vì thông tin điện thoại.

Các mã lỗi 5xx đều xuất phát từ phía máy chủ nhưng mỗi mã biểu thị một vấn đề giao tiếp hoặc trạng thái xử lý khác nhau giữa trình duyệt, máy chủ trung gian và máy chủ gốc.
Bảng dưới đây sẽ giúp bạn phân biệt rõ 502 Bad Gateway với lỗi 500, 503 và 504:
|
Mã lỗi |
Tên gọi |
Ý nghĩa chính |
Nguyên nhân phổ biến |
|
500 |
Lỗi nội bộ máy chủ nói chung |
Mã nguồn code bị lỗi, hỏng tập tin cấu hình (.htaccess) hoặc cơ sở dữ liệu quá tải. |
|
|
502 |
Bad Gateway |
Gateway nhận phản hồi không hợp lệ từ Upstream |
Backend lỗi, Proxy không kết nối được server |
|
503 |
Máy chủ tạm thời không thể xử lý yêu cầu |
Máy chủ đang bận, quá tải hoặc đang trong thời gian bảo trì |
|
|
504 |
Máy chủ trung gian không nhận được phản hồi kịp thời từ máy chủ gốc |
Backend phản hồi chậm hoặc timeout |
Để hiểu cách hoạt động của lỗi 502 Bad Gateway, trước hết bạn cần nắm vững kiến thức về Giao thức truyền siêu văn bản (HyperText Transfer Protocol – HTTP).
HTTP là giao thức thuộc lớp ứng dụng trong bộ giao thức Internet, được sử dụng để trao đổi dữ liệu giữa các hệ thống trên Internet.
Trong đó:
Như vậy, HTTP là giao thức nền tảng cho hoạt động truyền tải dữ liệu trên Internet. HTTP được sử dụng để trao đổi dữ liệu giữa máy khách và máy chủ, đồng thời truyền nội dung như HTML để trình duyệt hiển thị thành giao diện website mà bạn có thể tương tác.
HTTP sử dụng các cổng (port) để kiểm soát việc truyền dữ liệu. Thông thường, cổng 80 được dùng cho HTTP không mã hóa, trong khi cổng 443 được dùng cho HTTPS có mã hóa. Dữ liệu được truyền qua các cổng này giữa máy chủ lưu trữ website và thiết bị gửi yêu cầu.
HTTP hoạt động theo mô hình “yêu cầu – phản hồi”. Khi bạn truy cập một website, trình duyệt sẽ gửi yêu cầu đến máy chủ để lấy dữ liệu. Máy chủ sau đó xử lý yêu cầu và gửi phản hồi chứa dữ liệu tương ứng về thiết bị của bạn.
Nếu máy chủ không thể phản hồi yêu cầu một cách hợp lệ, lỗi 502 Bad Gateway có thể xuất hiện. Điều này thường xảy ra khi máy chủ trung gian như proxy hoặc gateway không nhận được phản hồi phù hợp từ máy chủ phía sau. Khi đó, trình duyệt sẽ hiển thị thông báo 502 Bad Gateway thay vì nội dung website.

Lỗi 502 Bad Gateway có thể xuất hiện dưới nhiều dạng khác nhau, thậm chí chỉ hiển thị một màn hình trắng. Một số thông báo lỗi phổ biến gồm:
Tất cả các biến thể trên đều đề cập đến lỗi 502 Bad Gateway. Nội dung thông báo cụ thể có thể khác nhau tùy vào trình duyệt web và máy chủ đang xử lý yêu cầu.
Lỗi 502 Bad Gateway không chỉ khiến website tạm thời không thể truy cập mà còn có thể ảnh hưởng trực tiếp đến trải nghiệm của người dùng và hoạt động kinh doanh của website.
Lỗi 502 có thể tạo ra nhiều bất tiện trong quá trình truy cập và sử dụng website, cụ thể:
Lỗi 502 Bad Gateway nếu xuất hiện thường xuyên có thể gây ra nhiều ảnh hưởng đến hoạt động, hiệu quả SEO và doanh thu của website:

Xác định đúng nguyên nhân gây ra lỗi 502 Bad Gateway sẽ giúp bạn lựa chọn cách khắc phục phù hợp. Một số nguyên nhân phổ biến bao gồm:

Cách khắc phục lỗi 502 Bad Gateway sẽ khác nhau tùy vào nguyên nhân và vai trò của bạn. Phần dưới đây sẽ hướng dẫn chi tiết các cách sửa lỗi 502 Bad Gateway dành cho người dùng và quản trị viên website.
Với tư cách người dùng, bạn có thể thử một số cách xử lý cơ bản như tải lại trang, khởi động lại trình duyệt, xóa cookies và cache, sử dụng trình duyệt khác.
Bạn có thể nhấn F5 hoặc chọn nút Refresh/Reload trên trình duyệt để tải lại trang web. Nếu website hoạt động bình thường sau khi tải lại, lỗi 502 có thể chỉ xuất hiện do một sự cố tạm thời trong quá trình kết nối giữa trình duyệt và máy chủ.
Một số sự cố tạm thời trong quá trình trình duyệt xử lý kết nối có thể khiến website trả về lỗi 502. Trong trường hợp này, bạn hãy đóng trình duyệt, mở lại rồi truy cập website lần nữa để làm mới phiên truy cập và kiểm tra kết nối.
Bộ nhớ cache có thể khiến trình duyệt tiếp tục hiển thị dữ liệu cũ ngay cả khi lỗi 502 đã được khắc phục. Vì vậy, bạn nên xóa cache của trình duyệt và tải lại trang để kiểm tra trước khi áp dụng các cách xử lý phức tạp hơn.
Cookies bị lỗi hoặc đã lỗi thời cũng có thể ảnh hưởng đến quá trình truy cập website và gây ra lỗi 502. Nếu việc xóa cache chưa giải quyết được vấn đề, bạn có thể xóa cookies của trình duyệt rồi truy cập lại trang web để kiểm tra.
Trường hợp lỗi 502 chỉ xuất hiện trên trình duyệt đang sử dụng, bạn hãy thử truy cập website bằng một trình duyệt khác hoặc chế độ ẩn danh. Nếu trang web hoạt động bình thường, sự cố có thể liên quan đến dữ liệu, tiện ích mở rộng hoặc thiết lập của trình duyệt ban đầu.
Khởi động lại thiết bị là một trong những cách sửa lỗi 502 Bad Gateway trên điện thoại/máy tính nhanh nhất mà bạn có thể áp dụng. Thao tác này giúp làm mới các tiến trình và kết nối đang hoạt động, đồng thời có thể loại bỏ một số sự cố tạm thời ảnh hưởng đến quá trình truy cập Internet.
Khi nhiều thiết bị cùng kết nối một mạng đều gặp lỗi 502, sự cố có thể liên quan đến modem, router hoặc thiết bị mạng khác. Bạn hãy thử tắt các thiết bị này trong thời gian ngắn, sau đó khởi động lại và kiểm tra khả năng truy cập website.
Nếu là người truy cập website, bạn có thể thay đổi sang một DNS khác thay vì sử dụng DNS mặc định của nhà mạng. Chẳng hạn, bạn có thể thử Google Public DNS rồi truy cập lại website để kiểm tra kết nối.
Cached DNS chứa thông tin phân giải tên miền được lưu từ những lần truy cập trước. Nếu dữ liệu này bị cũ hoặc không chính xác, bạn có thể flush DNS để hệ thống thực hiện lại quá trình phân giải tên miền.
Đối với máy tính Windows:
Đối với macOS:
Nếu lỗi 502 vẫn xuất hiện sau khi bạn đã thử các cách xử lý trong khả năng, hãy liên hệ với quản trị viên website để thông báo sự cố. Nguyên nhân có thể nằm ở máy chủ hoặc hệ thống phía website, vốn là những thành phần mà bạn không thể trực tiếp can thiệp.
Ngoài ra, quản trị viên website có thể chưa nhận biết được lỗi đang xảy ra nên thông tin từ bạn sẽ giúp họ phát hiện và kiểm tra sự cố sớm hơn. Bạn có thể gửi thông báo qua email, số điện thoại hoặc các kênh mạng xã hội mà website cung cấp.
Cuối cùng, bạn cũng có thể liên hệ với nhà cung cấp dịch vụ Internet để được hỗ trợ kiểm tra kết nối. Đơn vị cung cấp mạng có thể giúp xác định liệu sự cố có liên quan đến đường truyền hoặc hệ thống mạng hay không và hướng dẫn bạn cách xử lý phù hợp.

Với tư cách là quản trị viên website, bạn cần kiểm tra máy chủ, kiểm tra cấu hình và nhật ký lỗi, tạm thời vô hiệu hóa CDN hoặc tường lửa, kiểm tra PHP, plugin và theme trên WordPress.
Khi xảy ra lỗi 502, bạn nên kiểm tra Hosting để xác định dịch vụ có đang bị sập, quá tải, bảo trì, tạm ngắt kết nối hoặc gặp sự cố hay không. Nếu Hosting bị sập hoặc quá tải, bạn có thể khởi động lại server hoặc liên hệ nhà cung cấp để được hỗ trợ.
Trường hợp tình trạng ngắt kết nối tạm thời diễn ra thường xuyên, bạn nên cân nhắc chuyển sang một dịch vụ Hosting uy tín và ổn định hơn.
CDN hoặc tường lửa có thể chặn kết nối hợp lệ giữa bạn và máy chủ, từ đó gây ra lỗi 502 Bad Gateway. Để kiểm tra, bạn có thể vào CDN và chuyển sang chế độ DNS only nhằm kết nối trực tiếp với máy chủ.
Tiếp theo, hãy tạm thời tắt Web Application Firewall (WAF) và kiểm tra CDN/WAF để xác định tình trạng IP. Sau khi hoàn tất kiểm tra, bạn bật lại chế độ proxy và WAF.
Lỗi 502 có thể xuất phát từ một lỗi nội bộ trên website. Vì vậy, quản trị viên nên kiểm tra nhật ký lỗi (error logs) để xác định liệu hệ thống có đang ghi nhận vấn đề nào hay không. Với website sử dụng WordPress, quản trị viên có thể bật tính năng ghi nhật ký lỗi bằng cách chỉnh sửa tệp wp-config.php và thêm đoạn mã sau:
define( ‘WP_DEBUG’, true );
define( ‘WP_DEBUG_LOG’, true );
define( ‘WP_DEBUG_DISPLAY’, false );
Bạn cũng nên kiểm tra lỗi trong quá trình lập trình PHP để xác định liệu các vấn đề về thời gian chờ có khiến một số tiến trình bị dừng sau khoảng thời gian nhất định hay không.
Việc kiểm tra cấu hình PHP sẽ giúp xác định thời gian chờ hiện tại có phù hợp hay cần điều chỉnh lâu hơn.
Nếu dịch vụ hosting hỗ trợ, bạn có thể thử khởi động lại PHP hoặc yêu cầu nhà cung cấp thực hiện thao tác này để kiểm tra xem lỗi 502 có được khắc phục sau khi khởi động lại hay không.
Khi người dùng truy cập một tên miền, trình duyệt sẽ thông qua DNS để phân giải tên miền thành địa chỉ IP của máy chủ. Nếu DNS được cấu hình không chính xác, kết nối có thể gặp lỗi 502. Bạn có thể kiểm tra và xử lý theo các cách sau:
Các plugin, đặc biệt là plugin bảo mật, có thể gây xung đột hoặc chuyển hướng yêu cầu không chính xác, khiến máy chủ không phản hồi và phát sinh lỗi 502. Để kiểm tra, bạn nên vô hiệu hóa tất cả plugin rồi bật lại từng plugin để xác định plugin gây lỗi. Sau đó, hãy đảm bảo các plugin đều được cập nhật và tương thích với máy chủ đang sử dụng.
Plugin hoặc theme được cấu hình không phù hợp có thể gây ra lỗi 502 trên website WordPress. Để khắc phục lỗi 502 Bad Gateway trong WordPress, bạn nên tắt từng plugin một rồi kiểm tra lại website thay vì vô hiệu hóa tất cả cùng lúc.
Nếu cần, bạn có thể tắt toàn bộ plugin rồi kích hoạt lại từng plugin để xác định plugin gây ra sự cố.
Bên cạnh đó, bạn cũng nên kiểm tra theme đang sử dụng và tạm thời vô hiệu hóa tường lửa hoặc plugin bảo mật để xác định thành phần gây lỗi.

Chất lượng dịch vụ hosting ảnh hưởng trực tiếp đến tốc độ, độ ổn định và khả năng truy cập của website. Do đó, hãy lựa chọn gói hosting phù hợp với lưu lượng truy cập và quy mô nội dung, đồng thời xem xét các yếu tố như hiệu suất, độ tin cậy, khả năng mở rộng, bảo mật và hỗ trợ kỹ thuật.
Với nhu cầu vận hành website ổn định, bạn có thể tham khảo các dịch vụ Hosting của Tenten, được thiết kế với nhiều lựa chọn phù hợp cho từng quy mô website. Lựa chọn đúng gói hosting ngay từ đầu sẽ giúp bạn chủ động hơn trong quá trình vận hành và hạn chế các vấn đề phát sinh từ hạ tầng máy chủ.
Bạn nên thiết lập một endpoint như GET /health để kiểm tra trạng thái hoạt động của từng dịch vụ. Endpoint này trả về mã 200 khi dịch vụ đã sẵn sàng, qua đó có thể được sử dụng cho load balancer và các cơ chế kiểm tra readiness trong Kubernetes.
Là quản trị viên, bạn nên thiết lập rõ các thông số timeout của proxy thay vì phụ thuộc hoàn toàn vào giá trị mặc định của Nginx hoặc Apache. Các thông số như proxy_connect_timeout, proxy_read_timeout và proxy_send_timeout cần được cấu hình phù hợp với đặc điểm xử lý của website.
Bạn nên chủ động theo dõi tình trạng của các máy chủ upstream thay vì chờ đến khi người dùng thông báo lỗi 502. Các công cụ giám sát uptime có thể gửi cảnh báo khi quá trình kiểm tra tình trạng máy chủ upstream không đạt yêu cầu, giúp bạn phát hiện và xử lý sự cố sớm hơn.
Bạn có thể sử dụng Restart=always của systemd hoặc chế độ watch của PM2 để ứng dụng tự động khởi động lại sau khi gặp sự cố.
# /etc/systemd/system/myapp.service
[Service]
ExecStart=/usr/bin/node /app/server.js
Restart=always
RestartSec=5
Trong kiến trúc microservices, bạn có thể sử dụng circuit breaker như Resilience4j để ngăn các yêu cầu tiếp tục dồn vào một dịch vụ upstream đang gặp sự cố. Khi phát hiện dịch vụ này không hoạt động ổn định, circuit breaker sẽ chuyển sang phương án dự phòng được kiểm soát thay vì để các yêu cầu tiếp tục thất bại và tạo ra hàng loạt lỗi 502.
Nếu là quản trị viên website, bạn cần theo dõi thời hạn của chứng chỉ TLS trên các máy chủ upstream để tránh tình trạng chứng chỉ hết hạn khiến quá trình bắt tay TLS thất bại. Bạn có thể thiết lập lịch nhắc gia hạn hoặc sử dụng cơ chế gia hạn tự động như Let’s Encrypt hoặc cert-manager để duy trì chứng chỉ hợp lệ.
