

Lỗi 504 Gateway Time-out chắc hẳn không còn xa lạ với người thường xuyên sử dụng mạng Internet. Đây là một trong những lỗi kết nối phổ biến, thường xuất hiện khi máy chủ không phản hồi kịp trong quá trình xử lý yêu cầu, khiến người dùng không thể truy cập trang web như bình thường. Bài viết này sẽ giải đáp 504 Gateway Time-out là gì, nguyên nhân và cách khắc phục hiệu quả.
Lỗi 504 Gateway Time-out là mã trạng thái HTTP (HTTP Status Code) xảy ra khi máy chủ trung gian (Gateway hoặc Proxy) không nhận được phản hồi từ máy chủ backend (Upstream Server) trong thời gian cho phép (thường là 60 giây). Khi đó, hệ thống sẽ tự động ngắt kết nối và trả về thông báo lỗi thay vì hiển thị nội dung trang web.

Để dễ hình dung, hãy tưởng tượng bạn đang gọi món tại một nhà hàng. Trình duyệt giống như khách hàng, Gateway giống như người phục vụ, còn Upstream Server giống như nhà bếp. Sau khi nhận yêu cầu gọi món, người phục vụ sẽ chuyển yêu cầu vào bếp và chờ món ăn được chuẩn bị. Tuy nhiên, nếu nhà bếp quá tải và không thể chuẩn bị món ăn trong thời gian cho phép, lúc này, phục vụ sẽ phải quay lại và báo cho khách hàng biết rằng chưa thể phục vụ món ăn.
Tùy theo cấu hình website, hệ điều hành hoặc trình duyệt, lỗi này có thể xuất hiện dưới nhiều dạng khác nhau, phổ biến như:
Trước khi tìm hiểu cách sửa lỗi, người dùng cần xác định được chính xác nguyên nhân dẫn đến lỗi 504 Gateway Time-out là gì. Dưới đây là một số nguyên nhân thường gặp:
Trong nhiều trường hợp, lỗi 504 Gateway Time-out chỉ xảy ra tạm thời khi máy chủ đang xử lý quá nhiều yêu cầu cùng lúc hoặc phản hồi chậm. Hãy chờ khoảng 1–2 phút, sau đó:
Nếu website hoạt động bình thường sau khi tải lại, nhiều khả năng đây chỉ là sự cố tạm thời do máy chủ quá tải.
Thay đổi sang một trình duyệt khác cũng là cách đơn giản để kiểm tra và xử lý lỗi 504. Để thực hiện, bạn chỉ cần mở trình duyệt khác rồi truy cập lại trang web đó. Nếu trang vào bình thường, thì khả năng cao lỗi nằm ở trình duyệt cũ, chẳng hạn như cache bị hỏng, tiện ích mở rộng bị xung đột hoặc cài đặt chưa phù hợp.
Trong trường hợp này, bạn có thể quay lại trình duyệt cũ và thử xóa cache, tắt các extension không cần thiết, hoặc mở trang ở chế độ ẩn danh để kiểm tra lại.
Nếu lỗi 504 Gateway Time-out xuất phát từ việc máy tính đang lưu lại thông tin DNS cũ hoặc bị lỗi, bạn nên xóa DNS cache để làm mới dữ liệu phân giải tên miền. Cách này giúp máy tính tra cứu lại địa chỉ IP mới nhất của website thay vì dùng bản ghi cũ có thể đã không còn đúng.
Trên Windows 11:

Trên macOS Sonoma:
Trên Google Chrome:

Proxy Server là một máy chủ đóng vai trò trung gian giữa thiết bị của bạn và Internet. Nó có thể giúp ẩn địa chỉ của thiết bị và giúp xử lý kết nối một cách an toàn hơn.
Tuy nhiên, nếu proxy được cấu hình không chính xác hoặc Proxy Server gặp sự cố, các yêu cầu truy cập có thể không được chuyển đến máy chủ web đúng cách. Khi đó, quá trình kết nối dễ bị gián đoạn, phản hồi chậm hoặc vượt quá thời gian chờ, từ đó dẫn đến lỗi 504 Gateway Time-out.
Để khắc phục lỗi này, người dùng thực hiện như sau:
Trên Windows 11:

Trên macOS Sonoma:

Tường lửa (Firewall) là lớp bảo mật giúp ngăn chặn các cuộc tấn công từ bên ngoài và hạn chế truy cập trái phép vào hệ thống. Tuy nhiên, nếu được cấu hình không đúng, Firewall có thể chặn nhầm các yêu cầu hợp lệ hoặc làm gián đoạn kết nối giữa thiết bị và máy chủ web, từ đó dẫn đến lỗi 504 Gateway Time-out.
Để kiểm tra liệu Firewall có phải nguyên nhân dẫn đến lỗi này hay không, bạn có thể tạm thời tắt tường lửa.
Trên Windows 11:

Trên MacOS Sonoma:

Lưu ý: Bạn chỉ nên tắt tường lửa tạm thời để kiểm tra nguyên nhân gây lỗi. Sau khi đã xác định được nguyên nhân, hãy bật lại tường lửa để đảm bảo an toàn cho thiết bị hoặc máy chủ.
Plugin là một trong những nguyên nhân phổ biến có thể dẫn đến lỗi 504 Gateway Time-out trên WordPress. Những plugin thực hiện tác vụ nặng, truy vấn cơ sở dữ liệu chậm hoặc xung đột với plugin khác có thể khiến thời gian xử lý vượt quá giới hạn max_execution_time của PHP hoặc ngưỡng timeout của máy chủ.
Để kiểm tra plugin có phải nguyên nhân gây lỗi Timeout không, người dùng có thể thực hiện các bước sau:

Nếu không thể truy cập WordPress Dashboard, bạn có thể dùng FTP hoặc File Manager, đổi tên thư mục wp-content/plugins để WordPress tự động vô hiệu hóa toàn bộ plugin. Sau đó, đổi lại tên thư mục và kích hoạt từng plugin để xác định nguyên nhân.

Nếu đã tắt toàn bộ plugin nhưng lỗi vẫn xảy ra, hãy chuyển sang một theme mặc định của WordPress để kiểm tra xem nguyên nhân có đến từ theme hay không.
Lưu ý: Trước khi chỉnh sửa file WordPress như wp-config.php, .htaccess hoặc thư mục wp-content/plugins, bạn nên sao lưu website và database để hạn chế rủi ro mất dữ liệu hoặc lỗi website nếu thao tác sai.
Error Log là nơi ghi lại toàn bộ lỗi phát sinh trong quá trình website hoạt động. Nếu không xác định được nguyên nhân gây lỗi 504 Gateway Time-out, hãy kiểm tra Error Log để biết request nào bị timeout, plugin nào gặp lỗi hoặc dịch vụ nào không phản hồi.
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Dưới đây là ý nghĩa của các dòng lệnh trên:
Sau khi hoàn tất cấu hình debug, bạn có thể kiểm tra WordPress Error Log thông qua SFTP. Thông thường, file log sẽ nằm trong thư mục logs ở thư mục gốc của server hoặc trong file wp-content/debug.log nếu bạn đã bật chế độ debug của WordPress.
Ngoài WordPress Error Log, bạn cũng nên kiểm tra thêm server log để tìm nguyên nhân sâu hơn. Tùy vào loại web server đang sử dụng, vị trí file log có thể khác nhau:
Content Delivery Network (CDN) gặp sự cố hoặc cấu hình sai cũng có thể dẫn đến lỗi 504 Gateway Time-out. Nếu website của bạn đang sử dụng CDN, hãy thử vô hiệu hóa tạm thời để xem thử lỗi có phải xuất phát từ đây không.
Bạn có thể kiểm tra bằng cách sau:

Nếu website vào lại bình thường, nguyên nhân có thể nằm ở CDN hoặc ở cấu hình kết nối giữa CDN và máy chủ gốc. Trường hợp sau khi kiểm tra xong vẫn chưa xác định được nguyên nhân, bạn nên bật lại CDN để tránh ảnh hưởng đến tốc độ tải trang.
Nếu website của bạn chạy trên VPS , bạn có thể khắc phục lỗi 504 Gateway Time-out bằng cách điều chỉnh các thông số Timeout trong cấu hình Nginx và Apache. Để chỉnh cấu hình bạn làm như sau:
Đối với Nginx:
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;
fastcgi_read_timeout 300;Trong đó, vị trí file php.ini như sau:
Cuối cùng, khởi động lại PHP-FPM và Nginx để áp dụng cấu hình mới
sudo service php[version]-fpm reload
sudo service nginx reloadLưu ý: Thay [version] bằng phiên bản PHP bạn đang sử dụng trên máy chủ (ví dụ: 7.4, 8.1, 8.2,...). Lệnh thực tế sẽ là sudo service php8.1-fpm reload."
Lưu ý: Chỉ nên chỉnh cấu hình Nginx, Apache, PHP-FPM hoặc php.ini khi bạn có quyền quản trị máy chủ. Trước khi thay đổi, hãy sao lưu file cấu hình gốc và kiểm tra lại cấu hình sau khi chỉnh để tránh làm gián đoạn website.
Nếu đã thử tất cả các cách trên nhưng lỗi 504 Gateway Time-out vẫn chưa được khắc phục, nhiều khả năng nguyên nhân nằm ở cấu hình máy chủ, hạ tầng mạng hoặc tài nguyên hệ thống. Trong trường hợp này, bạn nên liên hệ với nhà cung cấp hosting để được hỗ trợ kiểm tra và xử lý kịp thời.

Đối với khách hàng sử dụng dịch vụ VNPT Cloud, đội ngũ kỹ thuật luôn sẵn sàng hỗ trợ 24/7 thông qua các kênh sau:
Hy vọng bài viết đã giúp bạn hiểu rõ lỗi 504 Gateway Time-out là gì, vì sao lỗi này xảy ra và cách khắc phục hiệu quả. Trên thực tế, 504 có thể xuất phát từ nhiều nguyên nhân khác nhau như kết nối mạng, cấu hình máy chủ, tài nguyên hệ thống, DNS, CDN hoặc chính website. Người dùng cần xác định đúng nguyên nhân trước khi xử lý để rút ngắn thời gian khắc phục và hạn chế lỗi tái diễn.
