Lỗi 502 Bad Gateway là một trong những lỗi máy chủ phổ biến mà người dùng có thể gặp khi truy cập website. Khi lỗi xuất hiện, trình duyệt thường hiển thị thông báo như “502 Bad Gateway”, “HTTP 502”, “502 Proxy Error” hoặc “Bad Gateway”. Điều này khiến website không thể tải nội dung bình thường.
Lỗi 502 thường liên quan đến quá trình giao tiếp giữa máy chủ trung gian và máy chủ xử lý website. Theo MDN, mã trạng thái HTTP 502 xuất hiện khi máy chủ hoạt động như gateway hoặc proxy nhận được phản hồi không hợp lệ từ máy chủ upstream. Vì vậy, việc xử lý lỗi cần xác định đúng nguyên nhân thay vì chỉ tải lại trang.
502 Bad Gateway là gì?
502 Bad Gateway là mã trạng thái HTTP thuộc nhóm lỗi máy chủ 5xx. Lỗi xảy ra khi một server đóng vai trò gateway hoặc proxy không nhận được phản hồi hợp lệ từ server phía sau.
Có thể hình dung quá trình hoạt động như sau:
Người dùng → Web Server/Proxy → Server ứng dụng → Website
Khi người dùng truy cập website, yêu cầu có thể đi qua Nginx, Apache, CDN hoặc một máy chủ proxy. Gateway sẽ chuyển yêu cầu đến server xử lý chính.
Nếu server phía sau gặp vấn đề hoặc phản hồi không hợp lệ, gateway có thể trả về lỗi 502 Bad Gateway.
Vì vậy, lỗi 502 không nhất thiết có nghĩa website đã bị hỏng hoàn toàn. Vấn đề có thể nằm ở máy chủ ứng dụng, dịch vụ PHP, cấu hình proxy hoặc kết nối giữa các máy chủ.
Dấu hiệu nhận biết lỗi 502 Bad Gateway
Lỗi 502 có thể xuất hiện với nhiều cách hiển thị khác nhau. Một số thông báo phổ biến gồm:
- 502 Bad Gateway.
- HTTP Error 502.
- HTTP 502.
- Bad Gateway.
- 502 Proxy Error.
- Error 502.
- Nginx 502 Bad Gateway.
- Cloudflare 502 Bad Gateway.
Thông thường, trình duyệt vẫn truy cập được tên miền nhưng không nhận được nội dung website.
Nếu website chỉ lỗi trong thời gian ngắn, nguyên nhân có thể là máy chủ đang quá tải. Nếu lỗi kéo dài, quản trị viên nên kiểm tra máy chủ và các dịch vụ liên quan.
Nguyên nhân gây lỗi 502 Bad Gateway
1. Máy chủ website bị quá tải
Đây là nguyên nhân khá phổ biến của lỗi 502. Khi website có lượng truy cập tăng đột biến, server có thể phải xử lý quá nhiều yêu cầu cùng lúc.
CPU, RAM hoặc số lượng kết nối có thể đạt giới hạn. Khi đó, web server trung gian không thể nhận phản hồi đúng từ máy chủ ứng dụng.
Website bán hàng trong các chương trình khuyến mãi thường dễ gặp tình trạng này. Website có mã nguồn nặng cũng có nguy cơ gặp lỗi khi lượng truy cập tăng cao.
2. Máy chủ upstream bị ngừng hoạt động
Trong hệ thống sử dụng reverse proxy, Nginx có thể chuyển yêu cầu đến một server khác thông qua proxy_pass. Nếu server phía sau không chạy, gateway có thể không kết nối được với upstream.
Tài liệu Nginx cũng ghi nhận trường hợp upstream không hoạt động hoặc không thể kết nối có thể dẫn đến phản hồi 502.
Đây là nguyên nhân thường gặp khi website sử dụng nhiều dịch vụ phía sau.
3. Cấu hình Nginx hoặc Apache sai
Một thay đổi nhỏ trong cấu hình web server cũng có thể khiến gateway không kết nối đúng với server ứng dụng.
Ví dụ, cấu hình có thể trỏ đến sai:
- Địa chỉ IP.
- Port.
- Socket PHP-FPM.
- Tên upstream.
- Đường dẫn proxy.
- Quy tắc chuyển tiếp request.
Nginx sử dụng các cấu hình proxy để chuyển yêu cầu đến server khác. Vì vậy, cấu hình sai có thể ảnh hưởng trực tiếp đến quá trình xử lý request.
4. PHP-FPM gặp sự cố
Đối với website WordPress hoặc các website PHP, PHP-FPM là thành phần rất quan trọng.
Nếu PHP-FPM bị dừng, quá tải hoặc không phản hồi đúng, Nginx có thể không nhận được kết quả cần thiết.
Một số nguyên nhân liên quan gồm:
- PHP-FPM bị crash.
- Quá nhiều PHP process.
- Server thiếu RAM.
- Cấu hình PHP-FPM chưa phù hợp.
- Website sử dụng plugin hoặc mã PHP gây quá tải.
Trong trường hợp này, cần kiểm tra trạng thái PHP-FPM và log máy chủ.
5. DNS hoặc kết nối mạng gặp vấn đề
DNS giúp tên miền kết nối với hệ thống máy chủ. Nếu DNS cấu hình sai hoặc hệ thống phân giải tên miền gặp vấn đề, quá trình kết nối có thể bị gián đoạn.
Ngoài ra, firewall hoặc các quy tắc mạng cũng có thể ngăn gateway kết nối đến server phía sau.
Tuy nhiên, nếu website chỉ lỗi trên một thiết bị trong khi người khác vẫn truy cập bình thường, nên kiểm tra thêm mạng, DNS, VPN và proxy của thiết bị đó.
6. CDN hoặc reverse proxy gặp sự cố
Nhiều website hiện nay sử dụng CDN hoặc reverse proxy để tăng tốc độ và bảo vệ hệ thống.
Nếu CDN không thể kết nối với origin server, người dùng có thể nhìn thấy lỗi 502.
Trong trường hợp này, website có thể vẫn hoạt động trên server gốc. Vấn đề nằm ở kết nối giữa CDN và origin server.
7. Website vừa thay đổi cấu hình
Việc thay đổi hosting, DNS, SSL, web server hoặc mã nguồn có thể tạo ra lỗi 502.
Ví dụ, quản trị viên chuyển website sang server mới nhưng chưa cập nhật đúng địa chỉ upstream. Khi đó, Nginx vẫn hoạt động nhưng không thể gửi request đến server ứng dụng.
Cách khắc phục lỗi 502 Bad Gateway
1. Tải lại website
Nếu bạn là người truy cập, hãy thử tải lại trang bằng Ctrl + F5.
Lỗi 502 đôi khi chỉ xảy ra tạm thời. Nếu server hoạt động trở lại, website sẽ tải bình thường.
Bạn cũng có thể thử truy cập website bằng trình duyệt hoặc thiết bị khác.
2. Kiểm tra tình trạng máy chủ
Nếu bạn là quản trị viên, hãy kiểm tra CPU, RAM, dung lượng ổ đĩa và số lượng kết nối.
Server quá tải có thể khiến các dịch vụ phía sau không phản hồi kịp thời.
Nên kiểm tra cả thời điểm lỗi xuất hiện. Nếu lỗi thường xảy ra vào giờ cao điểm, nguyên nhân có thể liên quan đến tài nguyên máy chủ.
3. Kiểm tra Nginx hoặc Apache
Hãy kiểm tra cấu hình reverse proxy và upstream.
Với Nginx, cần chú ý các thiết lập như proxy_pass, upstream server và port kết nối.
Nginx cung cấp nhiều thông tin liên quan đến upstream như thời gian phản hồi và trạng thái server. Những dữ liệu này có thể hỗ trợ quá trình xác định nguyên nhân lỗi.
Sau khi chỉnh sửa cấu hình, cần kiểm tra cấu hình trước khi áp dụng thay đổi.
4. Kiểm tra PHP-FPM
Nếu website sử dụng PHP, hãy kiểm tra PHP-FPM có đang hoạt động hay không.
Bạn nên kiểm tra:
- Trạng thái service.
- PHP-FPM log.
- Số lượng process.
- Giới hạn worker.
- Bộ nhớ server.
- Các request PHP bất thường.
Nếu PHP-FPM bị dừng, việc khởi động lại service có thể giúp website hoạt động trở lại. Tuy nhiên, cần tìm nguyên nhân khiến service gặp sự cố để tránh lỗi tái diễn.
5. Kiểm tra log máy chủ
Log server là nguồn thông tin rất quan trọng khi xử lý lỗi 502.
Hãy kiểm tra error log của Nginx, Apache, PHP-FPM và ứng dụng.
Các thông báo như connection refused, upstream timed out, connect() failed hoặc invalid response có thể giúp xác định thành phần đang gặp vấn đề.
Không nên chỉ khởi động lại server mà bỏ qua log. Cách này có thể làm website hoạt động tạm thời nhưng lỗi vẫn quay trở lại.
6. Kiểm tra CDN và DNS
Nếu website đang sử dụng CDN, hãy kiểm tra kết nối giữa CDN và server gốc.
Đồng thời, kiểm tra DNS record có trỏ đúng IP máy chủ hay không.
Sau khi thay đổi DNS, cần lưu ý thời gian cập nhật DNS trên các hệ thống khác nhau.
7. Kiểm tra website sau khi cập nhật
Nếu lỗi bắt đầu xuất hiện sau khi cài plugin, cập nhật WordPress hoặc thay đổi mã nguồn, hãy xác định thay đổi gần nhất.
Đối với WordPress, có thể kiểm tra plugin và theme mới cập nhật.
Nếu xác định được thành phần gây lỗi, hãy tạm thời vô hiệu hóa để kiểm tra.
Phân biệt lỗi 502 với 500 và 504
Lỗi 502, 500 và 504 đều thuộc nhóm mã trạng thái HTTP 5xx nhưng nguyên nhân không giống nhau.
500 Internal Server Error thường cho biết server gặp tình huống lỗi khi xử lý request.
502 Bad Gateway xảy ra khi gateway hoặc proxy nhận phản hồi không hợp lệ từ server phía sau.
504 Gateway Timeout xảy ra khi gateway hoặc proxy không nhận được phản hồi từ upstream trong thời gian cần thiết.
Việc phân biệt chính xác các mã lỗi giúp quá trình xử lý nhanh và hiệu quả hơn.
Lỗi 502 có ảnh hưởng đến SEO không?
Một lỗi 502 xảy ra trong thời gian ngắn thường không nhất thiết gây ảnh hưởng nghiêm trọng đến SEO.
Tuy nhiên, nếu website liên tục trả về lỗi 502 trong thời gian dài, bot tìm kiếm có thể gặp khó khăn khi truy cập và thu thập dữ liệu.
Ngoài ra, người dùng cũng không thể truy cập nội dung. Điều này ảnh hưởng trực tiếp đến trải nghiệm website.
Do đó, doanh nghiệp nên xử lý lỗi 502 càng sớm càng tốt. Website cần được theo dõi thường xuyên để phát hiện lỗi máy chủ trước khi ảnh hưởng đến khách hàng.
Cách phòng tránh lỗi 502 Bad Gateway
Để hạn chế lỗi 502, doanh nghiệp nên chủ động tối ưu hệ thống website.
Một số giải pháp nên thực hiện gồm:
- Sử dụng hosting hoặc VPS phù hợp.
- Theo dõi CPU và RAM thường xuyên.
- Tối ưu mã nguồn website.
- Giảm plugin không cần thiết.
- Thiết lập caching.
- Tối ưu cơ sở dữ liệu.
- Kiểm tra PHP-FPM định kỳ.
- Theo dõi error log.
- Cấu hình reverse proxy chính xác.
- Sử dụng CDN phù hợp.
- Thiết lập cơ chế giám sát uptime.
Với website có lượng truy cập lớn, nên xây dựng hệ thống có khả năng mở rộng. Việc phân bổ request đến nhiều server có thể giúp giảm áp lực lên một máy chủ duy nhất.
Kết luận
Lỗi 502 Bad Gateway thường xảy ra khi gateway hoặc proxy không nhận được phản hồi hợp lệ từ máy chủ phía sau. Nguyên nhân có thể đến từ server quá tải, PHP-FPM, Nginx, Apache, DNS, CDN hoặc cấu hình proxy.
Khi gặp lỗi, người dùng có thể thử tải lại website và kiểm tra kết nối. Với quản trị viên, cần kiểm tra server, dịch vụ ứng dụng, cấu hình và log để xác định nguyên nhân chính xác.
Việc xử lý lỗi 502 kịp thời giúp website hoạt động ổn định hơn. Đây cũng là yếu tố quan trọng để duy trì trải nghiệm người dùng và hiệu quả SEO lâu dài.
Nếu website thường xuyên xuất hiện lỗi 502, doanh nghiệp nên kiểm tra toàn bộ hệ thống hosting, mã nguồn và cấu hình máy chủ.

