Cách gửi yêu cầu API trực tiếp đến bộ định tuyến hoặc bộ xử lý thông báo

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về Apigee X.
thông tin

Giới thiệu

Khi khắc phục sự cố, bạn nên thực thi API trực tiếp trên các thành phần của Apigee, chẳng hạn như bộ định tuyến hoặc trình xử lý thông báo. Ví dụ: bạn có thể cần thực hiện việc này để:

  • Gỡ lỗi gián đoạn liên quan đến một số yêu cầu API dẫn đến vấn đề liên quan đến một thành phần cụ thể của Apigee (bộ định tuyến/trình xử lý tin nhắn).
  • Thu thập thêm thông tin chẩn đoán bằng cách bật chế độ gỡ lỗi trên một thực thể cụ thể của thành phần Apigee.
  • Hãy loại trừ rằng vấn đề là do một thành phần Apigee cụ thể gây ra.
  • Tìm hiểu xem các thao tác như tạo một thực thể mới hoặc khởi động lại thực thể đó có tác động như mong muốn hay không.

Điều kiện tiên quyết

  • Quyền truy cập trực tiếp vào các thành phần của bộ định tuyến hoặc trình xử lý thông báo cần chạy các yêu cầu API.
  • Bạn cần cài đặt công cụ cURL trên một thực thể cụ thể của thành phần.
  • Yêu cầu API bạn muốn kiểm tra ở định dạng cURL.

    Ví dụ: bạn có thể dùng lệnh curl sau đây để gửi yêu cầu đến một proxy API từ máy cục bộ của mình:

    curl https://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
    curl https://myorg-test.mycompany.com/v1/customers
    

Cách chạy các yêu cầu API trực tiếp trên bộ định tuyến Apigee

Trường hợp 1: Các yêu cầu API tới bí danh máy chủ trỏ đến bộ định tuyến

Nếu mục nhập DNS của bí danh máy chủ được định cấu hình để trỏ đến bộ định tuyến Apigee Edge (nói cách khác là không có Trình cân bằng tải đàn hồi (ELB)), thì bạn có thể dùng các lệnh curl sau đây để gửi trực tiếp yêu cầu API tới một bộ định tuyến:

  • Máy chủ ảo được định cấu hình để giao tiếp không an toàn qua cổng 80

    curl -v --resolve HOST_ALIAS:80:127.0.0.1 http://HOST_ALIAS/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
    

    Ví dụ:

    curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
  • Máy chủ ảo được định cấu hình để chấm dứt SSL trên cổng 443 trên bộ định tuyến

    curl -v --resolve HOST_ALIAS:443:127.0.0.1 https://HOST_ALIAS/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
    

    Ví dụ:

    curl -v --resolve myorg-test.mycompany.com:443:127.0.0.1 https://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    

Trường hợp 2: Các yêu cầu API đến bí danh máy chủ trỏ đến các ELB

Nếu mục nhập DNS của bí danh máy chủ được định cấu hình để trỏ đến một Trình cân bằng tải đàn hồi (ELB), thì bạn có thể dùng các lệnh curl sau đây để gửi trực tiếp yêu cầu API tới bộ định tuyến:

  • Máy chủ ảo được định cấu hình để giao tiếp không an toàn qua cổng 80

    curl -v --resolve HOST_ALIAS:80:127.0.0.1 http://HOST_ALIAS/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
    

    Ví dụ:

    curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
  • Máy chủ ảo được định cấu hình cho một cổng cao và SSL kết thúc trên một trình cân bằng tải trước bộ định tuyến Apigee

    curl -v --resolve HOST_ALIAS:PORT_NUMBER:127.0.0.1 http:/HOST_ALIAS:PORT_NUMBER/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
    

    Ví dụ:

    curl -v --resolve myorg-test.mycompany.com:19001:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
  • Máy chủ ảo được định cấu hình cho một cổng cao và SSL bị chấm dứt trên bộ định tuyến Apigee

    Nói cách khác, trình cân bằng tải được định cấu hình để sử dụng phương thức truyền qua TCP đến bộ định tuyến Apigee.

    curl -v --resolve HOST_ALIAS:PORT_NUMBER:127.0.0.1 https:/HOST_ALIAS:PORT_NUMBER/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
    

    Ví dụ:

    curl -v --resolve myorg-test.mycompany.com:19001:127.0.0.1 https://myorg-test.mycompany.com/v1/customers -H 'authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    

Cách chạy yêu cầu trực tiếp dựa trên trình xử lý tin nhắn Apigee

Tình huống 1: Yêu cầu API gửi đến đơn vị xử lý thông báo qua cổng mặc định 8998

Cổng mặc định mà bộ xử lý tin nhắn theo dõi lưu lượng truy cập từ bộ định tuyến Apigee là 8998. Do đó, đối với mọi trường hợp mà cổng này không thay đổi, lưu lượng truy cập cần được gửi trực tiếp đến cổng này trong một thực thể trình xử lý thông báo cụ thể, như trong ví dụ sau. Yêu cầu curl phải được gửi đến URL http://INTERNAL_IP_OF_MP:8998 cùng với tiêu đề X-Apigee.Host có tên máy chủ giá trị bao gồm cổng được sử dụng trong máy chủ ảo như minh hoạ trong 3 ví dụ sau:

  • Máy chủ ảo được định cấu hình để kết thúc SSL trên bộ định tuyến

    curl -v http://INTERNAL_IP_OF_MP:8998/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:443'
    

    Ví dụ:

    curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:443'
    
  • Máy chủ ảo được định cấu hình cho một "cổng cao" và việc chấm dứt SSL diễn ra trên một trình cân bằng tải HOẶC trên bộ định tuyến Apigee:

    curl -v http://INTERNAL_IP_OF_MP:8998/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:PORT_NUMBER'
    

    Ví dụ:

    curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:19001'
    
  • Máy chủ ảo được định cấu hình theo cổng http mặc định 80

    curl -v http://INTERNAL_IP_OF_MP:8998/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:80'
    

    Ví dụ:

    curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:80'
    

Trường hợp 2: Yêu cầu API tới trình xử lý thông báo qua cổng SSL 8443

Có thể định cấu hình giao tiếp SSL giữa bộ định tuyến và trình xử lý thông báo. Các ví dụ sau đây sử dụng cổng 8443. Cổng này được tài liệu về Apigee đề xuất.

  • Máy chủ ảo được định cấu hình để kết thúc SSL trên bộ định tuyến

    curl -v -k https://INTERNAL_IP_OF_MP:8443/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:443'
    

    Ví dụ:

    curl -v https://10.10.53.115:8443/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:80'
    
  • Máy chủ ảo được định cấu hình để kết thúc SSL trên trình cân bằng tải và lưu lượng truy cập được chuyển tiếp tới cổng cao đến bộ định tuyến

    curl -v https://INTERNAL_IP_OF_MP:8443/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:PORT_NUMBER'
    

    Ví dụ:

    curl -v https://10.10.53.115:8443/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:19001'