DDC Agent Proxy

Bắt đầu với yêu cầu đầu tiên.

Dùng ứng dụng HTTP hiện có. DDC quản lý thông tin xác thực nhà cung cấp, chọn tuyến và kiểm tra quyền truy cập qua một địa chỉ proxy.

Nhận địa chỉ proxy và khóa khách hàng

Liên hệ DDC hoặc quản trị viên của hệ thống bạn sử dụng. Quản trị viên tạo không gian khách hàng, cấp khóa theo phạm vi quyền và thiết lập hạn mức. Giao diện quản trị dành cho người vận hành.

  • DDC_PROXY_URL: địa chỉ listener proxy do quản trị viên cung cấp.
  • DDC_CLIENT_KEY: khóa API khách hàng. Lưu khóa trong hệ thống quản lý bí mật hoặc biến môi trường cục bộ.
  • Yêu cầu thông thường cần quyền proxy:use. Phiên cố định cần thêm quyền proxy:sticky.

Gửi yêu cầu không gắn phiên

Đặt hai biến môi trường theo thông tin đã được cấp, rồi chạy lệnh dưới đây. Khóa API là tên đăng nhập proxy; trường mật khẩu chứa chế độ xử lý lưu lượng.

Gửi yêu cầu không gắn phiên
curl --show-error --fail-with-body \
  --proxy "$DDC_PROXY_URL" \
  --proxy-user "$DDC_CLIENT_KEY:mode=ephemeral" \
  https://example.com/
cURLHTTPS qua CONNECT

Kiểm tra phản hồi

Yêu cầu thành công trong ví dụ này trả về HTML Example Domain từ example.com. Gateway chuyển tiếp phản hồi của website, không đóng gói trang thành kết quả JSON. HTTPS dùng CONNECT, sau đó client thiết lập TLS với website đích.

Khi cần, dùng curl --verbose tại máy của bạn để kiểm tra kết nối. Đầu ra chi tiết có thể chứa thông tin xác thực; hãy xóa bí mật trước khi chia sẻ dữ liệu chẩn đoán.

Giữ tuyến cho một phiên

Dùng một mã phiên ổn định cho trình duyệt hoặc agent cần duy trì trạng thái. Các yêu cầu có cùng mã được gắn với một tuyến cố định trong thời hạn lease. Client vẫn quản lý cookie trình duyệt và trạng thái ứng dụng.

Chỉ dùng mã phiên có thể khiến hệ thống cấp lease mới sau khi lease cũ kết thúc. Nếu cần phát hiện thay đổi danh tính, hãy lấy lease trước và gửi mã lease kỳ vọng trong từng yêu cầu.

Giữ tuyến cho một phiên
curl --proxy "$DDC_PROXY_URL" \
  --proxy-user "$DDC_CLIENT_KEY:session=browser-job-01" \
  https://example.com/
cURLHTTPS qua CONNECT

Sử dụng hợp đồng lease

API quản lý lease nằm trên listener proxy tại /v1/leases và dùng Proxy-Authorization. Gửi POST với target_domain để tạo lease; dùng GET hoặc DELETE tại /v1/leases/{lease_id} để kiểm tra hoặc giải phóng. Gửi lease_id nhận được trong mật khẩu proxy cùng mã phiên ban đầu.

Thời hạn mặc định của lease là 10 phút tổng cộng và 5 phút không hoạt động. Hệ thống triển khai có thể đặt giá trị khác. Lease hết hạn, đã giải phóng hoặc không khớp sẽ gây lỗi lease thay vì tự chuyển yêu cầu đó sang tuyến khác.

Sử dụng hợp đồng lease
curl --proxy "$DDC_PROXY_URL" \
  --proxy-user "$DDC_CLIENT_KEY:lease=$DDC_LEASE_ID;session=browser-job-01" \
  https://example.com/
cURLHTTPS qua CONNECT

Xác định đúng lớp gây lỗi

Quản trị viên có thể xem từng lần thử theo khách hàng, website đích, tuyến và IP đầu ra. Tunnel CONNECT không cho phép đọc phản hồi HTTP được mã hóa; phản hồi có chữ ký từ client có thể bổ sung dữ liệu về website đích.

  • ddc_reject: xác thực, phạm vi quyền, kiểm tra đầu vào hoặc chính sách tiếp nhận.
  • upstream_proxy_error: lỗi kết nối hoặc trao đổi với proxy phía trên.
  • target_error: lỗi website đích quan sát được hoặc phản hồi hợp lệ từ client.
  • lease_error: liên kết phiên kỳ vọng không còn hợp lệ.

Chuẩn bị triển khai

DDC Agent Proxy hỗ trợ Docker Compose và Kubernetes qua Helm. PostgreSQL lưu cấu hình và dữ liệu sử dụng lâu dài; Redis dùng chung phối hợp kiểm tra hạn mức và dung lượng tuyến giữa các replica gateway.

Cung cấp tài khoản nhà cung cấp được hỗ trợ hoặc endpoint proxy tĩnh. Quyền sử dụng nhà cung cấp được thiết lập riêng. DDC có thể trao đổi với đội ngũ của bạn về tài liệu triển khai, bí mật cần cấu hình, endpoint công khai và phương án đánh giá theo nhu cầu thực tế.