Nếu bạn đang tự vận hành hệ thống tự động hóa n8n và cơ sở dữ liệu NocoDB trên cùng một máy chủ VPS, rất có thể bạn đã từng gặp phải những lỗi kết nối chập chờn khó hiểu. Một trong những lỗi phiền toái nhất là thông báo lỗi đỏ lòm getaddrinfo EAI_AGAIN xuất hiện trên các tác vụ xử lý thông tin khách hàng hay đơn hàng. Bài viết này sẽ hướng dẫn bạn cách kết nối n8n với NocoDB trực tiếp thông qua mạng nội bộ Docker, giúp hệ thống tăng tốc độ xử lý gấp 3 lần và khắc phục triệt để sự cố lỗi mạng này.
Lỗi EAI_AGAIN trên n8n là gì và nguyên nhân do đâu?
Lỗi EAI_AGAIN thực chất là một lỗi phản hồi tạm thời từ máy chủ phân giải DNS (DNS lookup timeout). Khi bạn cấu hình n8n kết nối đến NocoDB thông qua một tên miền công cộng, ví dụ như https://nocodb.localbrand.vn/, Node.js chạy bên trong container n8n sẽ liên tục phải gửi yêu cầu ra ngoài internet để hỏi IP của tên miền này.
Chỉ cần nhà mạng gặp sự cố nghẽn mạng nhỏ trong vài mili giây hoặc DNS server (như Cloudflare, Google) phản hồi chậm, cuộc gọi API lập tức thất bại. Điều này dẫn đến tình trạng các workflow đồng bộ dữ liệu chạy chập chờn, lúc được lúc không đầy ức chế.

Giải pháp kết nối n8n với NocoDB qua mạng nội bộ Docker
Thay vì đi đường vòng từ VPS ra Internet rồi quay ngược lại VPS qua cổng HTTPS bảo mật bên ngoài, tại sao chúng ta không kết nối trực tiếp hai ứng dụng này thông qua mạng nội bộ ảo của Docker? Bằng cách này, n8n có thể gọi trực tiếp container NocoDB qua giao thức HTTP thường mà vẫn đảm bảo an toàn tối đa do luồng truyền tải không bao giờ đi ra ngoài VPS.
Cách tiếp cận này yêu cầu bạn tìm hiểu kỹ cách tổ chức mạng ảo của các container. Bạn có thể tham khảo thêm thông tin chi tiết tại tài liệu Docker Network chính thức để hiểu rõ cơ chế định tuyến local này.
Case Study thực tế: Trải nghiệm tăng tốc độ từ một Local Brand thời trang
Hãy xem câu chuyện thực tế từ một thương hiệu thời trang tại Việt Nam. Họ sử dụng n8n để kéo đơn hàng từ KiotViet về cơ sở dữ liệu NocoDB nội bộ lưu trữ trên VPS riêng.
Hệ thống hoạt động khá mượt mà nhưng cứ khoảng 3-4 ngày lại có một vài đơn hàng bị kẹt lại do lỗi EAI_AGAIN của NocoDB Node. Đội ngũ kỹ thuật đã quyết định cấu hình lại n8n kết nối trực tiếp đến container NocoDB thông qua mạng Bridge mặc định của Nginx Proxy Manager trên VPS.
Kết quả thật bất ngờ: không chỉ chấm dứt tình trạng kẹt đơn do lỗi DNS, thời gian thực thi của tác vụ truy vấn cơ sở dữ liệu cũng giảm mạnh và tốc độ phản hồi nhanh gấp 3 lần so với cách gọi qua tên miền công cộng cũ. Việc loại bỏ hoàn toàn quá trình bắt tay SSL (SSL handshake) đã giải phóng đáng kể hiệu năng CPU cho máy chủ.
Các bước cấu hình kết nối trực tiếp n8n và NocoDB
Để thực hiện cấu hình này, bạn cần truy cập vào giao diện dòng lệnh (Terminal) của VPS và làm theo các bước hướng dẫn chi tiết sau đây:
Bước 1: Tìm tên mạng và tên container của NocoDB
Đầu tiên, hãy chạy lệnh docker ps để xác định chính xác tên container của NocoDB. Sau đó, chạy tiếp lệnh sau để tìm tên mạng Docker của nó:
docker inspect -f '{{json .NetworkSettings.Networks}}' [ten_container_nocodb]
Kết quả trả về sẽ hiển thị các mạng mà NocoDB đang tham gia, ví dụ như nginx-proxy-manager_default.
Bước 2: Kết nối n8n và các container Worker vào chung mạng
Vì n8n phiên bản lớn thường chạy cơ chế hàng đợi (Queue mode) với các container Worker riêng biệt để xử lý tác vụ, bạn cần chạy lệnh kết nối mạng cho cả container chính lẫn các container Worker:
docker network connect nginx-proxy-manager_default [ten_container_n8n_main]
docker network connect nginx-proxy-manager_default [ten_container_n8n_worker_1]
docker network connect nginx-proxy-manager_default [ten_container_n8n_worker_2]
Bước 3: Thay đổi địa chỉ Host trong thông tin đăng nhập n8n
Bây giờ, bạn chỉ cần mở bảng cấu hình thông tin đăng nhập NocoDB (Credentials) trên giao diện web của n8n và đổi địa chỉ tại trường Host từ tên miền ngoài thành URL nội bộ:
http://[ten_container_nocodb]:8080/
Lưu ý sử dụng http:// thay vì https:// vì các kết nối trực tiếp nội bộ Docker không cần và không nên đi qua mã hóa SSL để tối ưu tốc độ tối đa.

Kết luận
Chỉ với vài thao tác cấu hình mạng cơ bản trong Docker, bạn đã giúp hệ thống tự động hóa của mình bền bỉ hơn trước các sự cố mạng và cải thiện hiệu năng xử lý đáng kinh ngạc. Nếu doanh nghiệp của bạn đang cần xây dựng những hệ thống tự động hóa bán hàng, quản trị dữ liệu quy mô lớn và tối ưu hiệu suất VPS, hãy tham khảo các giải pháp và dịch vụ Digital Marketing toàn diện của DPS.MEDIA để được hỗ trợ chuyên nghiệp nhất.
Ý kiến bạn đọc (9)
Chưa có bình luận nào. Hãy là người đầu tiên chia sẻ cảm nghĩ!
Đăng nhập / Tạo tài khoản
Đăng nhập với Google để gửi bình luận và tương tác cùng cộng đồng.
Tiếp tục là đồng ý với điều khoản sử dụng và chính sách bảo mật của DPS Media.