Ngiêm cấm sử đụng PROXY và VPS vào mục đích trái pháp luật bạn sẽ phải chịu toàn bộ trách nhiệm trước pháp luật khi sử dụng dịch vụ của chúng tôi tks!
504 gateway timeout: 12 cách khắc phục nhanh, dễ làm

504 gateway timeout: 12 cách khắc phục nhanh, dễ làm

Chuyên viên Kỹ thuật ProxyVN 07-09-2026 Đang tính... phút đọc

504 gateway timeout xuất hiện khi một máy chủ trung gian không nhận được phản hồi kịp thời từ máy chủ phía sau nó. Lỗi này có thể gặp khi anh em lướt web bình thường, khi chạy tool qua proxy hoặc khi chính website mình quản trị bị quá tải. Trong bài viết này, ProxyVN cùng anh em kiểm tra lần lượt từ trình duyệt, proxy, DNS tới WordPress, CDN, Apache và Nginx. Các bước được sắp xếp từ cơ bản tới chuyên sâu, giúp người dùng xử lý nhanh và giúp quản trị viên tránh chỉnh cấu hình khi chưa có căn cứ.

504 gateway timeout là gì và cách nhận biết

Theo tài liệu về mã trạng thái HTTP 504 của MDN, lỗi này xảy ra khi máy chủ đang đóng vai trò gateway hoặc proxy không nhận được phản hồi đúng hạn từ máy chủ phía sau, thường gọi là upstream server, để hoàn tất yêu cầu.

Lỗi 504 gateway timeout khi dùng proxy

Lỗi 504 gateway timeout khi dùng proxy

Nói đơn giản, trình duyệt đã gửi yêu cầu thành công, nhưng một máy chủ trung gian trên đường đi phải chờ máy chủ phía sau quá lâu. Khi vượt quá thời gian chờ đã cấu hình, máy chủ trung gian bỏ cuộc và trả về mã HTTP 504 cho người dùng.

Một request đi qua những máy chủ nào

Một website hiện đại hiếm khi chỉ có một máy chủ. Request của anh em có thể đi qua proxy cá nhân, mạng phân phối nội dung, bộ cân bằng tải, máy chủ web Nginx hoặc Apache, rồi mới tới tiến trình PHP, Node.js hay Python xử lý và cơ sở dữ liệu. Mỗi mắt xích trung gian đều có thời gian chờ riêng. Lỗi 504 xảy ra ở mắt xích nào thì máy chủ ngay phía trước nó sẽ báo lỗi.

Vì vậy, thời gian chờ không cố định ở 30 hay 60 giây. Con số này phụ thuộc vào cấu hình của CDN, reverse proxy, máy chủ web, ứng dụng và từng nhà cung cấp hosting.

Các thông báo thường gặp

Tùy máy chủ và trình duyệt, lỗi 504 có thể hiển thị dưới nhiều dạng:

  • 504 Gateway Timeout hoặc HTTP Error 504 – Gateway Timeout.
  • 504 Gateway Timeout nginx, khi Nginx là máy chủ trung gian.
  • Gateway Timeout Error hoặc chỉ đơn giản Error 504.
  • The server didn't respond in time.
  • Trang web mất quá nhiều thời gian để phản hồi.

Phân biệt 504 với các mã lỗi gần giống

Anh em cần phân biệt lỗi 504 với các mã HTTP dễ nhầm lẫn, vì mỗi mã chỉ tới một hướng xử lý khác nhau:

Mã lỗi

Ý nghĩa

Hướng kiểm tra

502 Bad Gateway

Gateway nhận phản hồi không hợp lệ từ máy chủ phía sau

Tiến trình ứng dụng bị sập, cấu hình upstream sai

503 Service Unavailable

Máy chủ tạm thời không phục vụ được

Bảo trì, quá tải, giới hạn tài nguyên

504 Gateway Timeout

Gateway chờ quá lâu mà máy chủ phía sau không trả lời

Ứng dụng chậm, truy vấn nặng, kết nối mạng

500 Internal Server Error

Ứng dụng phát sinh lỗi nội bộ

Lỗi mã nguồn, cấu hình ứng dụng

407 Proxy Authentication Required

Proxy yêu cầu xác thực

Sai tài khoản hoặc mật khẩu proxy

Như vậy, dấu hiệu quan trọng của lỗi 504 là gateway đã chờ nhưng máy chủ phía sau không phản hồi kịp. Nếu anh em đang gặp 502 hoặc 503, hãy tham khảo bài 502 Bad Gateway là gì và lỗi 503 Service Unavailable để có hướng xử lý chính xác hơn.

Nguyên nhân gây 504 gateway timeout

Lỗi có thể xuất phát từ thiết bị người dùng, đường truyền hoặc hạ tầng website. Tuy nhiên, phần lớn trường hợp kéo dài cần được kiểm tra ở phía máy chủ.

Nguyên nhân phía máy chủ

  • Máy chủ nguồn quá tải CPU, RAM hoặc hết tiến trình PHP để xử lý request mới.
  • Truy vấn cơ sở dữ liệu chạy chậm, bảng bị khóa hoặc thiếu chỉ mục.
  • Plugin, theme hoặc ứng dụng gọi API bên ngoài và phải chờ quá lâu.
  • Thời gian chờ của Nginx, Apache, PHP-FPM hoặc CDN không phù hợp với tác vụ.
  • Bot, spam hoặc tấn công từ chối dịch vụ làm cạn tài nguyên.
  • Máy chủ nguồn, dịch vụ API phụ thuộc hoặc phần cứng gặp sự cố.

Nguyên nhân phía mạng và người dùng

  • Kết nối giữa CDN, proxy và máy chủ nguồn không ổn định.
  • DNS trỏ sai IP hoặc chưa cập nhật đồng đều sau khi đổi máy chủ.
  • Proxy cá nhân được nhập sai địa chỉ, cổng hoặc node proxy đã ngừng hoạt động.
  • Modem, router hoạt động thiếu ổn định.

Khoanh vùng theo phạm vi ảnh hưởng

Một kinh nghiệm khoanh vùng rất hữu ích là xem ai đang gặp lỗi. Nếu chỉ một thiết bị gặp lỗi trong khi người khác truy cập bình thường, hãy ưu tiên kiểm tra mạng, DNS và proxy trên thiết bị đó. Nếu mọi người đều gặp lỗi, cần chuyển sang kiểm tra CDN, log và máy chủ nguồn. Có thể dùng điện thoại với 4G để thử nhanh, vì đó là một đường mạng độc lập với với mạng văn phòng.

12 cách sửa lỗi 504 gateway timeout

Anh em nên thực hiện lần lượt các bước dưới đây. Sau mỗi thay đổi, hãy kiểm tra lại website để xác định chính xác thao tác nào tạo ra khác biệt. Sáu bước đầu phù hợp với mọi người dùng; sáu bước sau dành cho quản trị viên website.

1. Tải lại trang web

Lỗi 504 đôi khi chỉ là quá tải tạm thời trong vài giây. Hãy chờ khoảng một phút rồi nhấn F5 để tải lại trang. Trên Windows, có thể dùng Ctrl + F5 để buộc trình duyệt tải lại tài nguyên thay vì dùng bản lưu cũ.

Ctrl + F5 tải lại tài nguyên web

Ctrl + F5 tải lại tài nguyên web

Sau đó, hãy thử cửa sổ ẩn danh hoặc một trình duyệt khác. Nếu website hoạt động trở lại, nguyên nhân có thể chỉ là quá tải tạm thời hoặc tiện ích trình duyệt gây xung đột.

2. Khởi động lại thiết bị mạng

Modem hoặc router hoạt động lâu ngày có thể thiếu ổn định và làm gián đoạn kết nối. Hãy tắt thiết bị, chờ khoảng 30 giây rồi bật lại.

Nếu có nhiều thiết bị mạng, bật modem của nhà cung cấp trước, sau đó mới khởi động router, bộ mở rộng sóng và máy tính. Trình tự này giúp các thiết bị nhận lại kết nối và địa chỉ mạng đúng cách.

3. Kiểm tra cài đặt proxy

Proxy hiếm khi là nguyên nhân chính của lỗi 504 trên một website. Tuy nhiên, địa chỉ proxy sai, cổng đóng, node proxy mất kết nối hoặc proxy quá tải vẫn có thể làm yêu cầu bị treo cho tới khi hết thời gian chờ.

Anh em có thể tạm tắt proxy và thử truy cập trực tiếp. Nếu lỗi biến mất, hãy kiểm tra lại IP, cổng, giao thức HTTP hoặc SOCKS và thông tin xác thực. Nếu proxy báo lỗi xác thực, bài sửa lỗi 407 Proxy Authentication Required hướng dẫn chi tiết. Nếu proxy từ chối kết nối ngay lập tức, xem thêm bài máy chủ proxy từ chối kết nối.

Khi vận hành nhiều tài khoản hoặc công cụ, nên chọn proxy chất lượng, mạng ổn định và có hỗ trợ kỹ thuật 24/24. Điều này giúp giảm tình trạng tool mất kết nối hoặc gửi yêu cầu qua node không còn hoạt động.

4. Kiểm tra và làm mới DNS

Nếu website vừa đổi máy chủ, bản ghi DNS có thể chưa cập nhật đồng đều. Máy tính của anh em có thể vẫn đang gửi yêu cầu tới IP cũ, nơi không còn dịch vụ nào trả lời.

Làm mới DNS

Làm mới DNS

Trên Windows, mở Command Prompt với quyền quản trị rồi chạy lệnh dưới đây. Tham số này được Microsoft mô tả trong tài liệu lệnh ipconfig.

ipconfig /flushdns

Trên macOS, mở Terminal và chạy:

sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder

Sau đó, có thể thử đổi sang DNS công cộng như 1.1.1.1 hoặc 8.8.8.8 để loại trừ lỗi từ DNS của nhà mạng. Quản trị viên nên dùng lệnh nslookup hoặc dig để xác nhận tên miền đã trỏ đúng IP mới.

5. Tạm dừng CDN

CDN có thể không kết nối được với máy chủ gốc do sai IP, lỗi chứng chỉ, tường lửa máy chủ chặn dải IP của CDN hoặc máy chủ gốc phản hồi quá chậm. Hãy tạm chuyển CDN sang chế độ chỉ phân giải DNS nếu nhà cung cấp hỗ trợ, rồi truy cập lại.

Với WordPress, anh em cũng có thể tạm tắt plugin kết nối CDN hoặc plugin bộ nhớ đệm. Nếu không vào được trang quản trị, hãy đổi tên thư mục plugin qua SFTP. Sau khi kiểm tra xong, nhớ bật lại CDN để website được bảo vệ.

6. Kiểm tra bot và lưu lượng bất thường

Bot spam hoặc tấn công từ chối dịch vụ có thể tạo lượng yêu cầu lớn, khiến CPU, RAM và tiến trình PHP bị dùng hết. Hãy xem biểu đồ lưu lượng, nhật ký truy cập và số kết nối đồng thời.

Nếu phát hiện nhiều yêu cầu lặp lại từ một nhóm IP hoặc vào một URL cụ thể, hãy áp dụng giới hạn tần suất, tường lửa ứng dụng hoặc công cụ chống bot. Cần tránh chặn quá rộng vì có thể ảnh hưởng người dùng thật và bot của công cụ tìm kiếm.

7. Kiểm tra cơ sở dữ liệu

Cơ sở dữ liệu chậm hoặc bảng bị lỗi có thể khiến ứng dụng chờ quá lâu. Hãy sao lưu trước, sau đó kiểm tra nhật ký truy vấn chậm, dung lượng các bảng và tình trạng khóa bảng.

Không nên sửa cơ sở dữ liệu chỉ dựa trên thông báo 504. Hãy xem nhật ký MySQL hoặc MariaDB và thử tạm dừng tác vụ đang gây tải như sao lưu tự động hay đồng bộ dữ liệu. Nếu không có kinh nghiệm quản trị cơ sở dữ liệu, nên liên hệ đơn vị hosting hỗ trợ.

8. Kiểm tra tài nguyên máy chủ

Kiểm tra CPU, RAM, dung lượng ổ đĩa, số tiến trình PHP và số kết nối. Nếu tài nguyên liên tục ở ngưỡng cao, việc tải lại trang hay tăng thời gian chờ chỉ xử lý phần ngọn.

Với website thương mại điện tử, trang thanh toán và truy vấn tồn kho thường không thể lưu bộ nhớ đệm như trang tĩnh. Khi lưu lượng tăng, có thể cần tối ưu ứng dụng, lưu bộ nhớ đệm hợp lý, nâng cấp tài nguyên hoặc triển khai cân bằng tải.

9. Tắt plugin và theme

Trên WordPress, một plugin lỗi có thể tạo truy vấn chậm hoặc gọi API bên ngoài quá lâu. Hãy tắt toàn bộ plugin, rồi bật lại từng plugin và kiểm tra website sau mỗi lần bật.

Nếu vẫn còn lỗi, hãy tạm chuyển sang theme mặc định. Đồng thời, cập nhật WordPress, plugin, theme và PHP lên phiên bản tương thích. Không nên cập nhật trực tiếp trên website đang chạy nếu chưa có bản sao lưu.

10. Đọc log để tìm điểm nghẽn

Log thường cho biết upstream nào bị chậm, URL nào gây lỗi và tiến trình nào đã hết thời gian chờ. Đây là bước quan trọng nhất với quản trị viên, vì mọi thay đổi cấu hình phía sau đều nên dựa trên những gì log cho thấy.

Đọc log máy chủ để tìm nguyên nhân lỗi 504

Đọc log máy chủ để tìm nguyên nhân lỗi 504

Các vị trí log phổ biến gồm:

  • Nginx: /var/log/nginx/error.log
  • Apache trên Ubuntu hoặc Debian: /var/log/apache2/error.log
  • WordPress: /wp-content/debug.log

Để bật log WordPress, thêm các dòng sau vào wp-config.php, phía trên dòng thông báo kết thúc chỉnh sửa. Cách cấu hình này phù hợp với hướng dẫn debug chính thức của WordPress.

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

Với Nginx, dòng log chứa cụm upstream timed out cho biết chính xác upstream nào và URL nào bị chờ quá lâu. Sau khi xử lý xong, nhớ tắt chế độ debug trên website đang chạy thật.

11. Điều chỉnh Apache, Nginx và PHP-FPM

Chỉ tăng thời gian chờ sau khi xác định tác vụ hợp lệ thật sự cần thêm thời gian, ví dụ xuất báo cáo lớn hoặc nhập hàng loạt sản phẩm. Với Apache, có thể chỉnh trong cấu hình máy chủ:

TimeOut 300

Theo tài liệu Apache HTTP Server, giá trị mặc định của chỉ thị này là 60 giây. Sau khi sửa, hãy kiểm tra cú pháp cấu hình trước khi tải lại dịch vụ.

Với Nginx kết hợp PHP-FPM, có thể cân nhắc tham số sau trong khối location xử lý PHP:

fastcgi_read_timeout 300s;

Tài liệu FastCGI của Nginx lưu ý rằng thời gian chờ này được tính giữa hai lần đọc liên tiếp, không phải toàn bộ thời gian truyền phản hồi. Đồng thời, cần kiểm tra request_terminate_timeout của PHP-FPM và max_execution_time của PHP để các giới hạn không mâu thuẫn nhau.

Tăng thời gian chờ chỉ kéo dài thời gian chờ, không xử lý truy vấn chậm, thiếu tài nguyên hay ứng dụng bị treo.

12. Cấu hình Nginx reverse proxy

Nếu Nginx làm reverse proxy phía trước một ứng dụng Node.js, Python hay một máy chủ khác, có thể điều chỉnh thời gian chờ trong đúng khối server hoặc location:

proxy_connect_timeout 60s;
proxy_send_timeout 300s;
proxy_read_timeout 300s;

Sau đó, kiểm tra cấu hình rồi tải lại Nginx:

sudo nginx -t
sudo systemctl reload nginx

Theo tài liệu proxy chính thức của Nginx, proxy_read_timeout đo khoảng chờ giữa hai lần đọc dữ liệu từ upstream. Vì vậy, cần tìm nguyên nhân khiến upstream im lặng thay vì chỉ đặt một giá trị thật lớn.

504 gateway timeout khi chạy tool qua proxy

Với anh em chạy tool tự động, scraping hay quản lý tài khoản qua proxy, lỗi 504 có thể xuất hiện theo cách khác so với người lướt web thông thường. Cần phân biệt lỗi do proxy và lỗi do website đích.

Lỗi do proxy hay do website đích

Nếu 504 xuất hiện trên mọi website khi đi qua một proxy, nhưng truy cập trực tiếp vẫn bình thường, vấn đề nằm ở proxy: node quá tải, mất kết nối tới Internet hoặc thời gian chờ của proxy quá ngắn. Nếu 504 chỉ xuất hiện với một website, kể cả khi truy cập trực tiếp, vấn đề nằm ở website đó.

Đọc kỹ nội dung trang lỗi cũng giúp khoanh vùng. Trang lỗi mang tên nhà cung cấp proxy hoặc phần mềm proxy cho biết lỗi xảy ra tại proxy. Trang lỗi mang tên CDN hay Nginx của website cho biết lỗi xảy ra phía website.

Kiểm tra nhanh bằng dòng lệnh

Lệnh minh họa dưới đây gửi cùng một request trực tiếp và qua proxy, in ra mã trạng thái và tổng thời gian để so sánh:

curl -s -o /dev/null -w "%{http_code} %{time_total}\n" https://example.com
curl -s -o /dev/null -w "%{http_code} %{time_total}\n" -x http://USER:PASS@HOST:PORT https://example.com

Nếu dòng đầu trả 200 và dòng sau trả 504, proxy là nguyên nhân. Nếu cả hai đều 504, hãy chờ website khắc phục hoặc liên hệ quản trị viên của website đó.

Cấu hình tool để chịu lỗi tốt hơn

Trong tool tự động, nên đặt thời gian chờ hợp lý và thử lại có giới hạn khi gặp 504, với thời gian chờ tăng dần giữa các lần thử. Không nên thử lại ngay lập tức nhiều lần, vì website đang quá tải sẽ càng quá tải thêm. Khi một proxy liên tục trả 504, tool nên tạm loại proxy đó và chuyển sang IP khác. Bài các lỗi máy chủ proxy tổng hợp thêm các mã lỗi thường gặp khi dùng proxy và cách xử lý từng loại.

Nếu proxy báo lỗi máy chủ từ chối kết nối thay vì 504, hướng xử lý sẽ khác. Bài sửa lỗi proxy server is refusing connections hướng dẫn cụ thể cho tình huống này.

Ví dụ thực tế: cửa hàng online gặp 504 giữa đợt khuyến mãi

Một cửa hàng online chạy WordPress kết hợp WooCommerce gặp lỗi 504 liên tục vào buổi tối ngày đầu tiên của đợt giảm giá. Trang chủ và trang sản phẩm vẫn mở được nhờ bộ nhớ đệm, nhưng trang giỏ hàng và thanh toán thường xuyên báo lỗi. Đội kỹ thuật ban đầu nghĩ tới việc tăng thời gian chờ của Nginx lên mười phút.

Khi đọc log, đội phát hiện điều khác. Log Nginx ghi nhận hàng trăm dòng upstream timed out, tất cả đều tới tiến trình PHP-FPM. Log PHP-FPM cho thấy số tiến trình đã chạm giới hạn tối đa từ đầu buổi tối. Nhật ký truy vấn chậm của MySQL chỉ ra một plugin tính phí vận chuyển đang gọi API bên ngoài cho mỗi lần cập nhật giỏ hàng, mỗi lần mất từ năm tới mười giây.

Cách xử lý cuối cùng không liên quan gì tới thời gian chờ. Đội tạm tắt tính năng tính phí vận chuyển trực tiếp, chuyển sang bảng phí cố định theo khu vực trong thời gian khuyến mãi, đồng thời tăng số tiến trình PHP-FPM phù hợp với RAM của máy chủ. Lỗi 504 biến mất chỉ sau vài phút. Bài học là log cho biết nguyên nhân, còn thời gian chờ chỉ cho biết triệu chứng.

Cách phòng tránh lỗi 504 cho website

Sửa lỗi khi đã xảy ra là cần thiết, nhưng phòng tránh mới giúp website ổn định lâu dài. Quản trị viên có thể áp dụng một số biện pháp dưới đây.

Giám sát liên tục

Dùng dịch vụ giám sát gửi request tới website mỗi vài phút và cảnh báo khi phản hồi chậm hoặc trả lỗi. Phát hiện sớm giúp xử lý trước khi khách hàng phàn nàn.

Tách tác vụ nặng ra khỏi request

Tác vụ như xuất báo cáo lớn, gửi email hàng loạt hay xử lý ảnh nên chạy nền qua hàng đợi, thay vì bắt người dùng chờ trong một request. Người dùng nhận thông báo khi tác vụ hoàn tất, còn máy chủ web không bị giữ kết nối quá lâu.

Tối ưu cơ sở dữ liệu định kỳ

Thêm chỉ mục cho các truy vấn thường dùng, dọn dữ liệu rác như bản nháp cũ hay phiên đăng nhập hết hạn, và theo dõi nhật ký truy vấn chậm hằng tuần.

Lưu bộ nhớ đệm hợp lý

Trang tĩnh, trang danh mục và bài viết nên được lưu bộ nhớ đệm ở CDN hoặc máy chủ web, giảm số request phải đi tới ứng dụng. Chỉ những trang thật sự động như giỏ hàng, thanh toán mới cần xử lý trực tiếp.

Kiểm tra tải trước khi ra mắt tính năng mới

Trước khi ra mắt tính năng mới hoặc chạy chiến dịch lớn, hãy dùng công cụ kiểm tra tải để mô phỏng lượng truy cập dự kiến trên môi trường thử nghiệm. Kết quả cho biết trang nào sẽ chậm đầu tiên và ngưỡng nào sẽ bắt đầu xuất hiện lỗi 504.

Dự phòng tài nguyên cho mùa cao điểm

Website bán hàng nên tăng tài nguyên trước các đợt khuyến mãi lớn, thay vì chờ tới khi gặp lỗi 504 giữa đợt sale mới xử lý.

Xem thêm:

Câu hỏi thường gặp về 504 gateway timeout

Lỗi 504 có ảnh hưởng tới SEO không?

Nếu lỗi chỉ xuất hiện vài phút, ảnh hưởng gần như không đáng kể. Nếu kéo dài nhiều giờ hoặc lặp lại thường xuyên, công cụ tìm kiếm có thể giảm tần suất thu thập dữ liệu và tạm loại trang khỏi kết quả. Hãy theo dõi báo cáo thu thập dữ liệu trong công cụ quản trị website.

Người dùng thường có tự sửa được lỗi 504 không?

Người dùng chỉ sửa được khi nguyên nhân nằm ở thiết bị, mạng, DNS hoặc proxy của chính mình. Nếu lỗi nằm ở máy chủ website, người dùng chỉ có thể chờ hoặc báo cho quản trị viên.

Tăng thời gian chờ thật lớn có phải giải pháp tốt?

Không. Thời gian chờ quá lớn khiến tiến trình bị giữ lâu, tài nguyên cạn nhanh hơn và có thể gây ra lỗi dây chuyền. Hãy tìm nguyên nhân khiến máy chủ phía sau chậm và chỉ tăng thời gian chờ cho những tác vụ cụ thể cần thiết.

Khi lỗi 504 đến từ proxy trung gian, anh em có thể mua proxy ổn định tại ProxyVN và nhờ đội hỗ trợ 24/24 kiểm tra kết nối.

Nhìn chung, để xử lý 504 gateway timeout, anh em nên kiểm tra lần lượt trình duyệt, mạng, proxy, DNS, CDN, ứng dụng và log máy chủ. Proxy tốt giúp giảm rủi ro mất kết nối, nhưng đọc log vẫn là bước quan trọng để xử lý đúng nguyên nhân. Khi cần kết nối ổn định cùng hỗ trợ kỹ thuật 24/24, hãy liên hệ Proxy.vn - Nhà cung cấp dịch vụ proxy chất lượng hàng đầu Việt Nam.

TIN TỨC LIÊN QUAN