Gợi ý 12 Cách Sửa Lỗi 504 Gateway Time Out Nhanh Chóng

Lỗi 504 Gateway Timeout là vấn đề thường gặp xảy ra khi máy chủ không thể kết nối với trang web được yêu cầu trong thời gian quy định. Điều này có thể xảy ra với bất kỳ trang web nào và làm gián đoạn trải nghiệm người dùng.

Lỗi 504 gateway time out là lỗi gì?

Lỗi 504 Gateway Timeout là thông báo lỗi HTTP xảy ra khi máy chủ không thể kết nối với máy chủ hoặc tài nguyên khác để đáp ứng yêu cầu từ người dùng. Vì vậy, khi trình duyệt gửi yêu cầu đến máy chủ, nó sẽ không nhận được phản hồi trong khoảng thời gian quy định, thường khoảng 30 giây. Khi thời gian chờ vượt quá, thông báo lỗi 504 Gateway Timeout sẽ xuất hiện.

Nguyên Nhân và 12 Cách Sửa Lỗi 504 Gateway Time Out Nhanh Chóng
Lỗi 504 gateway time out

Vì có nhiều hệ điều hành, máy chủ web, trình duyệt khác nhau, lỗi 504 gateway time out có thể xuất hiện với nhiều cách khác nhau.

Nguyên Nhân và 12 Cách Sửa Lỗi 504 Gateway Time Out Nhanh Chóng
Các biến thể của lỗi 504 gateway time out

Dưới đây là một số biến thể của lỗi 504 phổ biến có thể gặp phải:

  • 504 Gateway Timeout.
  • 504 Gateway Timeout NGINX.
  • NGINX 504 Gateway Timeout.
  • Gateway Timeout Error.
  • Error 504.
  • HTTP Error 504 – Gateway Timeout.
  • Không thể truy cập trang web này – mất quá nhiều thời gian để phản hồi.
  • 504 Gateway Time-out — The server didn’t respond in time.

Nguyên nhân xảy ra lỗi 504 gateway time out

Lỗi 504 Gateway Timeout xảy ra khi có sự cố về thời gian chờ giữa các máy chủ. Dưới đây là nguyên nhân phổ biến gây ra lỗi 504 Gateway Timeout:

  • Lỗi kết nối mạng, kết nối giữa các máy chủ
  • Do máy chủ bị quá tải và không thể phản hồi đúng lúc
  • Do cấu hình máy chủ không đúng cách
  • Do DNS gặp vấn đề khiến máy chủ không xác định được IP máy chủ yêu cầu
  • Do CDN cấu hình không đúng cách
  • Do ứng dụng web gặp sự cố
  • Do phần cứng máy chủ gặp sự cố
  • ….

Lỗi 504 Gateway Timeout có thể xảy ra do nhiều nguyên nhân từ lỗi mạng, lỗi kết nối, lỗi cấu hình, lỗi phần cứng…Cần tìm ra nguyên nhân chính xác và sửa chữa nhanh chóng. Sau đây là các cách sửa nhanh lỗi này bạn có thể tham khảo!

Gợi ý 12 Cách sửa lỗi 504 Gateway Timeout nhanh chóng

Để sửa lỗi 504 Gateway Timeout, bạn có thể thực hiện các cách sau đây:

Cách 1. Thử tải lại trang web

Bạn có thể nhấn phím F5 để làm mới hoặc tải lại trang trên trình duyệt. Để xóa bộ nhớ cache của trang trước khi tải lại, bạn có thể nhấn tổ hợp phím tắt CTRL + F5.

Hoặc bạn cũng có thể thử truy cập trên trình duyệt khác để khắc phục lỗi. Vì hầu hết các lỗi 504 là do máy chủ quá tải tạm thời, sử dụng giải pháp này giúp trang web quay lại hoạt động bình thường.

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

Đôi khi, vấn đề với các thiết bị mạng như modem hoặc router có thể dẫn đến lỗi 504 Gateway Timeout. Khởi động lại các thiết bị này có thể khắc phục vấn đề.

Thứ tự bật lại các thiết bị mạng sau khi khởi động lại là quan trọng vì chúng phải được bật lại theo đúng trình tự kết nối từ bên ngoài vào bên trong mạng. Điều này có nghĩa là bạn nên bật các thiết bị mạng từ thiết bị gần nhất với nhà cung cấp dịch vụ internet đến thiết bị cuối cùng của mạng. Bằng cách này, đảm bảo các thiết bị mạng được kết nối với nhau đúng cách và sử dụng internet bình thường.

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

Proxy là phần trung gian giữa thiết bị và internet. Nó thường sử dụng để bảo vệ sự riêng tư trực tuyến bằng cách ẩn thông tin riêng tư khỏi các trang web và máy chủ web.

Mặc dù rất hiếm khi máy chủ proxy gây ra lỗi 504, nhưng việc cài đặt máy chủ proxy không chính xác đôi khi có thể là nguyên nhân. Nếu bạn không chắc chắn liệu mình có sử dụng máy chủ proxy hay không, có thể thử tắt nó và tải lại trang web để xem liệu lỗi có được khắc phục hay không.

Gợi ý 12 Cách sửa lỗi 504 Gateway Timeout nhanh chóng
Cách sửa lỗi 504 Gateway Timeout

Cách 4. Kiểm tra sự cố DNS

Lỗi 504 Gateway Timeout có thể do vấn đề DNS trên máy chủ hoặc máy khách (hoặc cả hai). Vấn đề DNS phía máy chủ thường xảy ra khi tên miền đầy đủ (FQDN) không giải quyết đúng địa chỉ IP hoặc máy chủ DNS không phản hồi. Điều này xảy ra khi bạn chuyển trang web sang một máy chủ mới. Do đó, bạn cần chờ các bản ghi DNS tên miền được chuyển sang địa chỉ mới hoàn toàn, khoảng 24 giờ.

Một số công cụ miễn phí có thể sử dụng như whatsmydns.net DNS Checker hoặc DNSMap để kiểm tra DNS. Các công cụ này giúp xác định vấn đề DNS bằng cách kiểm tra xem tên miền đã được truyền đến các máy chủ DNS trên khắp thế giới hay chưa.

Gợi ý 12 Cách sửa lỗi 504 Gateway Timeout nhanh chóng
Cách sửa lỗi 504 Gateway Timeout

Để khắc phục vấn đề DNS phía máy khách, có thể thử xóa bộ nhớ cache DNS cục bộ.

Nếu bạn đang sử dụng Windows, có thể xóa bộ nhớ cache DNS bằng cách mở Command Prompt và nhập lệnh sau:

ipconfig /flushdns
Gợi ý 12 Cách sửa lỗi 504 Gateway Timeout nhanh chóng

Khi xóa thành công, bạn sẽ thấy thông báo “Successfully flushed the DNS resolver Cache.”

Đối với các phiên bản macOS mới nhất, bạn có thể mở Terminal và chạy lệnh sau:

sudo killall -HUP mDNSResponder

Bạn sẽ không thấy bất kỳ thông báo nào trên macOS khi quá trình hoàn thành, nhưng có thể thay đổi điều đó bằng cách thêm vào lệnh thông báo tùy chỉnh.

sudo killall -HUP mDNSResponder; DNS Cache was cleared successfully

Với hệ điều hành Linux, thực hiện khá tương tự như trên macOS, vì Linux cũng sử dụng Terminal làm giao diện dòng lệnh của nó.

Cuối cùng, bạn có thể tạm thời thay đổi máy chủ DNS trên máy khách. Mặc định, ISP tự động chỉ định các máy chủ DNS. Bạn có thể thay đổi chúng thành các địa chỉ IP DNS công cộng tạm thời.

Một số máy chủ DNS đáng tin cậy mà bạn có thể thử là Google Public DNS, Cloudflare 1.1.1.1, Quad9 DNS và Cisco OpenDNS.

Gợi ý 12 Cách sửa lỗi 504 Gateway Timeout nhanh chóng
Cách sửa lỗi 504 Gateway Timeout

Cách 5. Vô hiệu hóa CDN của trang web tạm thời

Đôi khi, vấn đề cũng có thể xuất phát từ CDN. Nếu không thể truy cập máy chủ gốc của một trang web, hầu hết các CDN sẽ cố gắng cung cấp toàn bộ trang web từ bộ đệm của chúng.

Tuy nhiên, hầu hết các CDN không kích hoạt tính năng này theo mặc định vì việc lưu trữ tài nguyên động trên hầu hết các trang web là rất phức tạp.

Gợi ý 12 Cách sửa lỗi 504 Gateway Timeout nhanh chóng
Cách sửa lỗi 504 Gateway Timeout

Cách đơn giản để khắc phục vấn đề này là tạm thời vô hiệu hóa CDN. Tương tự, bạn cũng có thể vô hiệu hóa bất kỳ plugin nào đó để kết nối với CDN như W3 Total Cachem WP Rocket, Breeze.

Nếu bạn không thể truy cập vào bảng điều khiển của trang web, nên vô hiệu hóa plugin qua SFTP bằng cách đổi tên thư mục của plugin.

Gợi ý 12 Cách sửa lỗi 504 Gateway Timeout nhanh chóng
Cách sửa lỗi 504 Gateway Timeout

Cách 6. Kiểm tra thư rác, bot hoặc tấn công DDoS

Gợi ý 12 Cách sửa lỗi 504 Gateway Timeout nhanh chóng
Kiểm tra thư rác, bot hoặc tấn công DDoS

Các kẻ tấn công có thể làm chậm máy chủ web bằng cách gửi quá nhiều yêu cầu hoặc yêu cầu tài nguyên tốn kém. Nếu trang web đang bị spam bot hoặc bị tấn công DDoS, nó có thể làm quá tải máy chủ và dẫn đến lỗi 504 Gateway Timeout.

Có thể xem lưu lượng và phân tích máy chủ của mình để xem liệu có thể phát hiện bất kỳ mô hình không đều trong lưu lượng truy cập trang web.

Sử dụng các giải pháp bảo mật chuyên dụng như Sucuri hoặc Cloudflare để bảo vệ trang web khỏi các cuộc tấn công DDoS và bot spam.

Cách 7. Sửa chữa database WordPress bị hỏng

Đôi khi, lỗi 504 Gateway Timeout còn có thể do cơ sở dữ liệu bị hỏng, nhất là trên các trang web WordPress. Thông thường, điều này do các bảng hoặc tệp cơ sở dữ liệu bị hỏng. Đôi khi, nó cũng có thể do một vấn đề bảo mật nghiêm trọng như trang web hoặc cơ sở dữ liệu bị hack.

Sửa chữa database WordPress bị hỏng phụ thuộc vào vấn đề mà nó mắc phải. Bạn có thể sử dụng các plugin như WP-DBManager giúp dễ dàng chẩn đoán các vấn đề cơ sở dữ liệu và sửa chữa chúng.

Cách 8. Kiểm tra sự cố máy chủ

Máy chủ có thể là nguyên nhân gây lỗi 504 Gateway Timeout. Khi một trang WordPress được truy cập, máy chủ web Nginx/Apache sẽ tạo ra các yêu cầu đối với các tài nguyên của trang web đó và chờ đợi phản hồi từ các tài nguyên đó. Nếu máy chủ web không nhận được phản hồi trong khoảng thời gian chờ quy định, nó sẽ trả về lỗi 504 Gateway Timeout cho người dùng.

Các trang web có lưu lượng truy cập cao và trang web thương mại điện tử có khả năng bị lỗi 504 cao hơn do quá tải máy chủ vì chúng tạo ra nhiều yêu cầu không thể lưu trữ được. Tuy nhiên, vấn đề này có thể xảy ra với bất kỳ trang web nào, bao gồm cả các blog đơn giản.

Bạn nên liên hệ với nhà cung cấp dịch vụ lưu trữ – dịch vụ máy chủ của mình để kiểm tra vấn đề trên máy chủ của họ. Nếu nhà cung cấp xác nhận rằng không có vấn đề về máy chủ của họ, bạn có thể tiếp tục kiểm tra các nguyên nhân khác như CDN, plugin, hoặc cấu hình trên trang web.

Quan tâm thêm dịch vụ: Thuê máy chủ vật lý chuyên nghiệp giá rẻ tại LANIT

Cách 9. Kiểm tra các plugin và theme của trang web

Hầu hết các plugin và theme của bên thứ ba không gây ra lỗi 504. Nhưng đôi khi chúng có thể gây ra vấn đề với máy chủ bằng cách gửi quá nhiều yêu cầu không được lưu trữ, đặc biệt là khi bạn sử dụng plugin hoặc theme không được tối ưu hóa tốt. Khi điều này xảy ra, nó có thể gây quá tải cho máy chủ và dẫn đến lỗi 504.

Ví dụ, plugin WooCommerce là một trong những plugin thường gặp phải vấn đề này. Nếu bạn gặp phải lỗi 504, một cách đơn giản để giải quyết là tắt tất cả các plugin. Bạn không cần phải lo lắng về mất dữ liệu vì việc tắt plugin chỉ là vô hiệu hoá chúng tạm thời.

Nếu bạn có quyền truy cập vào trang quản trị, có thể tắt tất cả các plugin bằng cách vào màn hình Plugin, chọn Tắt hoạt động từ menu hành động hàng loạt, đánh dấu tất cả các plugin và nhấn nút Áp dụng để vô hiệu hoá chúng.

Gợi ý 12 Cách sửa lỗi 504 Gateway Timeout nhanh chóng
Cách sửa lỗi 504 Gateway Timeout

Nếu không thể truy cập vào trang quản trị, bạn có thể tắt các plugin thông qua SFTP bằng cách sử dụng phương pháp mà chúng tôi đã mô tả trước đó. Chỉ cần đổi tên thư mục chính của plugin để tắt tất cả các plugin.

Sau đó hãy kiểm tra xem trang web có tải đúng không. Nếu nó hoạt động, bạn cần kích hoạt từng plugin và kiểm tra trang web sau khi kích hoạt mỗi plugin.

Cuối cùng, hãy đảm bảo rằng các plugin, theme và WordPress core đều được cập nhật mới nhất. Ngoài ra, hãy đảm bảo rằng máy chủ đang chạy phiên bản PHP được khuyến nghị.

Cách 10. Kiểm tra logs

Kiểm tra logs rất là bước tiếp theo để gỡ rối lỗi 504 trên trang web nếu các các trên không hiệu quả. Điều này có thể giúp thu hẹp vấn đề trên trang web của mình nhanh chóng, đặc biệt là nếu nó phát sinh từ một plugin đòi hỏi nhiều tài nguyên trên trang web .

Nếu nhà cung cấp dịch vụ lưu trữ không có công cụ ghi log, bạn có thể bật chế độ debug của WordPress bằng cách thêm code sau vào tệp wp-config.php :

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

Đoạn code này sẽ cho phép chế độ debug trong WordPress và ghi lại các lỗi vào một tệp log. Để xem các lỗi đã ghi vào tệp, truy cập vào đường dẫn đến tệp log được chỉ định trong code trên.

Lưu ý rằng khi bật chế độ debug, các thông báo lỗi sẽ xuất hiện trên trang web . Để tránh hiển thị những thông báo này cho người dùng, đặt giá trị của WP_DEBUG_DISPLAY thành false như trong đoạn code trên.

Bạn tải xuống các tệp nhật ký lỗi WordPress thông qua SFTP. Thông thường, bạn có thể tìm thấy các log lỗi trong thư mục gốc của máy chủ trong một thư mục có tên “logs”.

Gợi ý 12 Cách sửa lỗi 504 Gateway Timeout nhanh chóng
Cách sửa lỗi 504 Gateway Timeout

Cuối cùng, kiểm tra các tệp logs máy chủ. Tùy thuộc vào máy chủ mà bạn sử dụng để lưu trữ trang web WordPress của mình, chúng thường được tìm thấy ở những vị trí sau:

  • Apache: /var/log/apache2/error.log/
  • Nginx: /var/log/nginx/error.log/

Cách 11. Cấu hình Apache hoặc Nginx đúng cách

Bạn có thể chỉnh sửa các tệp cấu hình Apache hoặc Nginx để tăng giới hạn tài nguyên. Điều này có thể giúp giải quyết lỗi 504 Gateway Timeout.

Đối với máy chủ Apache

Đầu tiên, thêm code sau vào tệp httpd.conf :

TimeOut 600

Thiết lập này xác định thời gian máy chủ sẽ chờ đợi cho một số yêu cầu trước khi đánh dấu nó là một vấn đề timeout. Giá trị mặc định của nó là 60 giây (phiên bản Apache 2.4).

Thêm yêu cầu này vào tệp httpd.conf , không phải trong tệp .htaccess . Vì hầu hết các nhà cung cấp dịch vụ lưu trữ chia sẻ không cho phép sửa đổi tệp httpd.conf, bạn có thể thử tăng giá trị của chỉ thị LimitRequestBody trong tệp .htaccess thay thế.

Sau đó, thêm đoạn code vào tệp php.ini :

max_execution_time 300

Giá trị mặc định của chỉ thị max_execution_time của PHP là 30 giây. Tăng nó sẽ cho phép các kịch bản PHP trên trang web chạy lâu hơn.

Đối với máy chủ Nginx

Nếu bạn đang chạy trang web WordPress của mình trên Nginx + FastCGI Process Manager (PHP-FPM) hoặc sử dụng Nginx làm proxy đảo ngược cho Apache, bạn có thể điều chỉnh các thiết lập máy chủ để giúp ngăn chặn lỗi 504 Gateway Timeout.

Đầu tiên, bạn phải chỉnh sửa tệp cấu hình PHP-FPM của mình. Bạn sẽ tìm thấy nó tại vị trí /etc/php7.4/fpm/pool.d/www.conf trên máy chủ Nginx (đường dẫn chính xác có thể thay đổi dựa trên phiên bản PHP). Hoặc, có thể chạy lệnh sau trong terminal để chỉnh sửa tệp cấu hình PHP-FPM pool:

sudo nano /etc/php/7.2/fpm/pool.d/www.conf

Tiếp theo, thiết lập chỉ thị sau:

request_terminate_timeout = 300

Sau đó, chỉnh sửa tệp php.ini của mình. Tệp php.ini có thể nằm ở /etc/php.ini. Mở tệp và thêm / thay đổi giá trị cho chỉ thị max_execution_time thành 300 giây.

max_execution_time = 300

Cuối cùng, thêm code sau vào vị trí của tệp nginx.conf:

location ~ .php$ {
...
fastcgi_read_timeout 300;
}

Tải lại Nginx và PHP-FPM để các thay đổi có hiệu lực.

sudo service nginx reload
sudo service php7.4-fpm reload

code chính xác để tải lại PHP-FPM sẽ thay đổi dựa trên phiên bản PHP được cài đặt trên máy chủ . Kiểm tra trang web để xem liệu nó đã sửa chữa được vấn đề hay chưa.

12. Xử lý lỗi 504 Gateway Timeout trên Nginx Proxy

Nếu bạn đang sử dụng Nginx làm máy chủ proxy đảo ngược cho Apache, bạn có thể làm nó linh hoạt hơn đối với các vấn đề timeout máy chủ bằng cách thêm các chỉ thị sau vào tệp nginx.conf :

proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;

Đừng quên tải lại Nginx sau khi thực hiện các thay đổi.

sudo service nginx reload

Kết luận

Trên đây là một số giải pháp để khắc phục lỗi 504 Gateway Timeout. Bạn có thể kiểm tra lại kết nối mạng của mình, tối ưu hóa trang web, tăng giới hạn tài nguyên hoặc cấu hình đúng các thiết lập Apache hoặc Nginx. Khi làm theo các giải pháp này, bạn có thể giúp giảm thiểu nguy cơ gặp phải lỗi 504 và tăng cường trải nghiệm của người dùng trên trang web. Chúc bạn thành công!

avata Hải

Triệu Huyền Trang

Triệu Huyền Trang chuyên gia 3 năm kinh nghiệm trong ngành Công Nghệ, Phần Mềm. Chuyên chia sẻ các kiến thức phần mềm mã nguồn, ứng dụng và thông tin về công nghệ hữu ích.

Chat với chúng tôi qua Zalo!
Chat với chúng tôi qua Zalo!