DNS RobotDNS Propagation Checker
Trang ChủDNSWHOISIPSSL
DNS RobotDNS Propagation Checker

Công cụ kiểm tra DNS thế hệ mới

Chính Sách Bảo MậtĐiều Khoản Dịch VụVề Chúng TôiBlogLiên hệ

Công Cụ DNS

Tra Cứu DNSKiểm Tra Tốc Độ DNSTên Miền Sang IPTra Cứu NSTra Cứu MXXem tất cả

Công Cụ Email

Kiểm Tra Bản Ghi SPFKiểm Tra DMARCKiểm Tra DKIMKiểm Tra SMTPPhân Tích Header EmailXem tất cả

Công Cụ Website

Tra Cứu WHOISKiểm tra HostingKiểm Tra Tên MiềnTìm Tên Miền PhụPhát Hiện CMSXem tất cả

Công Cụ Mạng

Công Cụ PingTracerouteKiểm Tra CổngKiểm Tra Header HTTPKiểm Tra Chứng Chỉ SSLXem tất cả

Công Cụ IP

Tra Cứu IPIP Của Tôi Là GìKiểm Tra Danh Sách Đen IPIP Sang HostnameTra Cứu ASNXem tất cả

Công Cụ Tiện Ích

Quét Mã QRTạo Mã QRUPI QR Code GeneratorWiFi QR Code GeneratorDịch Mã MorseXem tất cả
© 2026 DNS Robot. Phát triển bởi: ❤ Shaik Brothers
Tất cả hệ thống hoạt động bình thường
Made with
Trang chủ/Blog/Lỗi ERR_EMPTY_RESPONSE là gì? Cách khắc phục

Lỗi ERR_EMPTY_RESPONSE là gì? Cách khắc phục

Shaik Vahid30 thg 9, 20269 phút đọc
Lỗi Chrome Trang này không hoạt động, example.com không gửi bất kỳ dữ liệu nào, ERR_EMPTY_RESPONSE, kèm cách sửa
Lỗi Chrome Trang này không hoạt động, example.com không gửi bất kỳ dữ liệu nào, ERR_EMPTY_RESPONSE, kèm cách sửa

Điểm chính

ERR_EMPTY_RESPONSE (mã lỗi Chromium -324) có nghĩa là trình duyệt đã kết nối đến máy chủ và gửi yêu cầu, rồi máy chủ đóng kết nối mà không gửi lại một byte nào. Chrome hiển thị "Trang này không hoạt động. example.com không gửi bất kỳ dữ liệu nào." Với người truy cập, hãy tải lại trang, thử chế độ Ẩn danh, và tắt VPN, proxy cùng tính năng quét HTTPS của phần mềm diệt virus. Với lập trình viên trên localhost hoặc Docker, ứng dụng thường không lắng nghe ở nơi bạn nghĩ (hãy bind vào 0.0.0.0 trong container) hoặc bạn đã dùng http:// trên một cổng chỉ hỗ trợ HTTPS. Với chủ trang web, hãy tìm sự cố crash, hết thời gian chờ và các quy tắc ngắt kết nối, chẳng hạn return 444 của nginx.

Advertisement

ERR_EMPTY_RESPONSE là gì?

ERR_EMPTY_RESPONSE là trang lỗi của Chrome và Edge với nội dung "Trang này không hoạt động. example.com không gửi bất kỳ dữ liệu nào." (This page isn't working. example.com didn't send any data.) Trong Chromium, đây là mã lỗi mạng -324, được định nghĩa là: "Máy chủ đã đóng kết nối mà không gửi bất kỳ dữ liệu nào" (The server closed the connection without sending any data).

Trình duyệt đã đi xa hơn so với hầu hết các lỗi kết nối khác. Địa chỉ đã được phân giải, kết nối đã mở, và trình duyệt đã gửi yêu cầu. Sau đó máy chủ, hoặc thứ gì đó đứng trước nó, đóng kết nối với một phản hồi rỗng: không mã trạng thái, không header, không trang. Mã nguồn Chromium chỉ dùng lỗi này cho một kết nối mới bị đóng với 0 byte. Khi một kết nối cũ đang được tái sử dụng bị đóng, Chrome sẽ âm thầm thử lại.

Vì yêu cầu đã thực sự được gửi đến, ERR_EMPTY_RESPONSE thường chỉ ra phía máy chủ: một ứng dụng bị crash khi đang xử lý yêu cầu, một quy tắc cố ý ngắt kết nối, hoặc một dịch vụ chấp nhận kết nối nhưng phía sau không có gì. Một vài nguyên nhân trên chính máy tính của bạn cũng có thể gây ra lỗi này.

Ghi chú

Các công cụ dòng lệnh mô tả cùng sự cố theo cách khác: curl báo Empty reply from server (curl error 52), còn các thư viện HTTP khác có thể báo "socket hang up" hoặc "connection closed without response". Nếu bạn thấy một trong các thông báo đó khi kiểm tra, bạn đang gặp cùng một vấn đề.

Nguyên nhân gây ra lỗi ERR_EMPTY_RESPONSE

Nguyên nhânỞ đâuDấu hiệu
Ứng dụng bị crash hoặc bị kill khi đang xử lý yêu cầuMáy chủLỗi với mọi người, thường trên một trang nặng
Quy tắc ngắt kết nối (nginx return 444, WAF, chống bot)Máy chủChỉ lỗi với một số khách truy cập, IP hoặc user agent
Chuyển tiếp cổng nhưng phía sau không có gì lắng nghe (Docker, load balancer)Máy chủ / lập trình viênCổng mở nhưng mọi yêu cầu đều trả về rỗng
http:// gửi đến cổng chỉ hỗ trợ HTTPSLập trình viênHoạt động với https://, lỗi với http://
VPN, proxy hoặc tính năng quét HTTPS của phần mềm diệt virusThiết bị của bạnChỉ lỗi trên thiết bị hoặc mạng của bạn
Yêu cầu hoặc header quá lớn đối với máy chủMáy chủLỗi sau khi đăng nhập hoặc khi có nhiều cookie

Advertisement

Cách 1: Tải lại trang và thử chế độ Ẩn danh

Nếu máy chủ khởi động lại đúng lúc không may, tải lại trang sau vài giây là đủ. Nếu lỗi lặp lại, hãy mở trang trong cửa sổ Ẩn danh (Ctrl + Shift + N, Mac Cmd + Shift + N). Chế độ Ẩn danh khởi động không có cookie và không có tiện ích mở rộng, nên nó nhanh chóng cho bạn biết liệu thứ gì đó được lưu trong trình duyệt có liên quan hay không.

Sau đó kiểm tra xem trang web có bị sập với mọi người không. Công cụ Kiểm Tra Header HTTP của DNS Robot yêu cầu trang từ máy chủ của chúng tôi: nếu chúng tôi nhận được phản hồi bình thường, vấn đề nằm giữa bạn và trang web. Nếu chúng tôi cũng không nhận được gì, chính trang web đang bị lỗi.

Cách 2: Tắt VPN, proxy và tính năng quét HTTPS

Bất cứ thứ gì nằm ở giữa các kết nối của bạn đều có thể chấp nhận yêu cầu rồi đóng nó mà không chuyển phản hồi về:

  • VPN: ngắt kết nối hoàn toàn rồi tải lại trang.

  • Proxy: trên Windows 11, Cài đặt → Mạng & Internet → Proxy → tắt Sử dụng máy chủ proxy (Use a proxy server). Trên Mac, Cài đặt hệ thống → Mạng → kết nối của bạn → Chi tiết… → Proxy.

  • Quét HTTPS của phần mềm diệt virus: chỉ tắt tính năng quét web hoặc quét HTTPS (thường có tên HTTPS scanning, Web Shield hoặc SSL/TLS protocol filtering) rồi tải lại. Nếu cách đó khắc phục được, hãy thêm ngoại lệ cho trang web và bật lại tính năng quét.

Cảnh báo

Bật lại phần mềm bảo mật sau khi kiểm tra. Nếu tính năng quét HTTPS là nguyên nhân, hãy thêm ngoại lệ cho riêng trang web đó hoặc cập nhật sản phẩm thay vì để tắt lớp bảo vệ.

Advertisement

Cách 3: Xóa dữ liệu của trang web và tắt tiện ích mở rộng

Cookie quá lớn hoặc bị hỏng có thể khiến máy chủ bỏ yêu cầu thay vì trả lời, và điều này thường chỉ xuất hiện dưới dạng lỗi sau khi bạn đăng nhập. Hãy xóa cookie của trang đó: nhấp vào biểu tượng bên trái thanh địa chỉ → Cookie và dữ liệu trang web (Cookies and site data) (hoặc Cài đặt trang web) → xóa dữ liệu, rồi đăng nhập lại.

Tiếp theo, tắt tất cả tiện ích mở rộng tại chrome://extensions và tải lại. Bật lại từng cái một để tìm tiện ích gây xung đột, thường là trình chặn quảng cáo, công cụ bảo vệ quyền riêng tư hoặc bất cứ thứ gì chỉnh sửa yêu cầu.

Mẹo

Nếu lỗi chỉ xuất hiện sau khi bạn đăng nhập, cookie là nghi phạm hàng đầu. Xóa dữ liệu trang web sẽ đăng xuất bạn, vì vậy hãy chuẩn bị sẵn mật khẩu hoặc trình quản lý mật khẩu trước.

Cách 4: Xóa bộ nhớ đệm DNS và đặt lại network stack

Nếu mọi trang web đều trả về phản hồi rỗng trên một máy tính, hãy đặt lại cấu hình mạng của máy đó. Trên Windows, chạy các lệnh dưới đây trong Command Prompt quyền quản trị viên rồi khởi động lại máy. Trên Mac, hãy xóa bộ nhớ đệm DNS, sau đó xóa mạng Wi-Fi và thêm lại.

powershell
ipconfig /flushdns
netsh winsock reset
netsh int ip reset
ipconfig /release
ipconfig /renew

Hãy thử cả một mạng khác, chẳng hạn dữ liệu di động trên điện thoại. Nếu trang web hoạt động ở đó, một bộ lọc trên mạng bạn thường dùng (trường học, nơi làm việc hoặc ISP) có thể đang cắt kết nối.

Advertisement

ERR_EMPTY_RESPONSE trên localhost và Docker

Lập trình viên thường gặp lỗi này nhất trên chính máy của mình. Các nguyên nhân thường gặp:

  • Ứng dụng trong container Docker lắng nghe trên 127.0.0.1. Bên trong container, 127.0.0.1 có nghĩa là "chỉ container này", nên cơ chế chuyển tiếp cổng của Docker không có gì để kết nối tới và trình duyệt nhận được phản hồi rỗng (hoặc, tùy thiết lập, kết nối bị reset). Hãy cho ứng dụng lắng nghe trên 0.0.0.0 bên trong container, ví dụ next dev -H 0.0.0.0, vite --host 0.0.0.0, flask run --host=0.0.0.0 hoặc uvicorn main:app --host 0.0.0.0.

  • Ánh xạ cổng của container không khớp. -p 8080:3000 chuyển tiếp cổng 8080 của bạn đến cổng 3000 bên trong container. Nếu ứng dụng thực ra lắng nghe trên cổng 5000, mọi yêu cầu sẽ trả về rỗng.

  • http:// trên cổng chỉ hỗ trợ HTTPS. Một số máy chủ chờ TLS trên một cổng và đơn giản là ngắt kết nối khi HTTP thuần đến. Hãy thử https://localhost:8443 thay vì http://.

  • Dev server bị crash khi đang xử lý yêu cầu. Kiểm tra cửa sổ terminal nơi nó đang chạy. Một exception hoặc lỗi hết bộ nhớ ngay lúc đó chính là câu trả lời.

bash
# Tái hiện lỗi mà không cần trình duyệt
curl -v http://localhost:8080/
# "Empty reply from server" = kết nối đã được chấp nhận, không có gì được gửi lại

# Container công khai những cổng nào, và cái gì đang lắng nghe bên trong?
docker ps --format "table {{.Names}}\t{{.Ports}}"
docker exec -it <container> sh -c "netstat -tlnp 2>/dev/null || ss -tlnp"

Mẹo

Bên trong container, một tiến trình lắng nghe trên 127.0.0.1:3000 gây ra phản hồi rỗng; 0.0.0.0:3000 (hoặc :::3000) mới là thứ mà cơ chế chuyển tiếp cổng của Docker cần.

Dành cho chủ website: Vì sao máy chủ gửi phản hồi rỗng

  • Crash và tiến trình bị kill do hết bộ nhớ. Nếu tiến trình xử lý yêu cầu chết, kết nối sẽ đóng mà không có gì được gửi. Kiểm tra log ứng dụng và dmesg -T | grep -i "killed process" để tìm dấu vết của OOM killer (cơ chế diệt tiến trình khi hết bộ nhớ) trên Linux, đặc biệt với các trang nặng và khi tải tệp lên.

  • Cố ý ngắt kết nối. Lệnh đặc biệt return 444; của nginx đóng kết nối mà không gửi bất kỳ phản hồi nào, và thường được dùng để chặn bot xấu hoặc hostname không xác định. Nếu một quy tắc như vậy khớp với khách truy cập thật (một quy tắc user agent hoặc GeoIP quá rộng), họ sẽ thấy ERR_EMPTY_RESPONSE, hoặc ERR_HTTP2_PROTOCOL_ERROR trên các kết nối HTTP/2, nơi nginx reset luồng thay vào đó. WAF, bộ giới hạn tốc độ và dịch vụ chống bot cũng có thể làm điều tương tự.

  • Chuyển tiếp cổng và load balancer không có backend. Một listener chấp nhận kết nối nhưng phía sau không có máy chủ nào hoạt động bình thường có thể đóng kết nối với phản hồi rỗng. Hãy kiểm tra trạng thái sức khỏe của target và đảm bảo cổng backend khớp.

  • Hết thời gian chờ thì đóng thay vì trả lời. Hãy để các yêu cầu chạy lâu trả về lỗi đúng chuẩn (chẳng hạn 504) thay vì âm thầm đóng socket, để khách truy cập và hệ thống giám sát biết chuyện gì đã xảy ra.

  • Yêu cầu quá lớn. Header hoặc cookie rất lớn có thể khiến một số máy chủ bỏ yêu cầu. Hãy giữ cookie nhỏ gọn.

bash
# Có quy tắc nào ngắt kết nối không?
sudo grep -rn "return 444" /etc/nginx/

# Kiểm tra từ bên ngoài, theo cách khách truy cập kết nối
curl -sv https://yourdomain.com/ -o /dev/null

Ghi chú

Khi đứng sau nginx hoặc CDN, một ứng dụng upstream bị crash thường biến thành lỗi 502 Bad Gateway thay vì phản hồi rỗng, vì proxy vẫn trả lời. ERR_EMPTY_RESPONSE có nghĩa là máy chủ mà trình duyệt kết nối đến hoàn toàn không gửi gì, vì vậy hãy kiểm tra lớp ngoài cùng trước.

Advertisement

ERR_EMPTY_RESPONSE khác gì các lỗi tương tự

LỗiMãĐiều đã xảy ra
ERR_EMPTY_RESPONSE-324Yêu cầu đã gửi, kết nối bị đóng với 0 byte trả về
ERR_CONNECTION_CLOSED-100Bị đóng trước khi kịp gửi yêu cầu, thường trong quá trình bắt tay HTTPS
ERR_CONNECTION_RESET-101Kết nối bị cắt đột ngột bằng gói TCP reset
502 Bad GatewayHTTPProxy đã trả lời, nhưng ứng dụng upstream của nó bị lỗi

Hướng dẫn liên quan: ERR_CONNECTION_CLOSED, ERR_CONNECTION_RESET, 502 Bad Gateway và 500 Internal Server Error. Để kiểm tra xem cổng của máy chủ có chấp nhận kết nối từ bên ngoài không, hãy dùng Kiểm Tra Cổng.

Máy chủ có trả lời khi kiểm tra từ bên ngoài mạng của bạn không?

Công cụ Kiểm Tra Cổng của DNS Robot kiểm tra xem cổng 443 hoặc 80 của một tên miền có chấp nhận kết nối từ máy chủ của chúng tôi không. Kết hợp với Kiểm Tra Header HTTP để xem máy chủ có gửi phản hồi thực sự hay không.

Thử Kiểm Tra Cổng

Advertisement

Câu hỏi thường gặp

Nó có nghĩa là trình duyệt đã kết nối đến máy chủ và gửi yêu cầu, rồi máy chủ đóng kết nối mà không gửi lại dữ liệu nào: không mã trạng thái, không header, không trang. Trong Chromium, đây là mã lỗi mạng -324, hiển thị là "Trang này không hoạt động. example.com không gửi bất kỳ dữ liệu nào."

Công cụ liên quan

Port CheckerHTTP Headers CheckPing Tool

Bài viết liên quan

Lỗi ERR_CONNECTION_RESET là gì? Cách khắc phụcLỗi ERR_CONNECTION_CLOSED là gì? Cách khắc phụcLỗi HTTP 500 Internal Server Error: Nguyên nhân và Cách khắc phục

Mục lục

  • ERR_EMPTY_RESPONSE là gì?
  • Nguyên nhân gây ra lỗi ERR_EMPTY_RESPONSE
  • Cách 1: Tải lại trang và thử chế độ Ẩn danh
  • Cách 2: Tắt VPN, proxy và tính năng quét HTTPS
  • Cách 3: Xóa dữ liệu của trang web và tắt tiện ích mở rộng
  • Cách 4: Xóa bộ nhớ đệm DNS và đặt lại network stack
  • ERR_EMPTY_RESPONSE trên localhost và Docker
  • Dành cho chủ website: Vì sao máy chủ gửi phản hồi rỗng
  • ERR_EMPTY_RESPONSE khác gì các lỗi tương tự
  • Câu hỏi thường gặp