شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید . اطلاعات
مقدمه
هنگام عیبیابی، ممکن است بخواهید APIها را مستقیماً بر روی اجزای Apigee مانند روتر یا پردازشگر پیام اجرا کنید. برای مثال، ممکن است بخواهید این کار را انجام دهید تا:
- اشکالزدایی متناوب با درخواستهای API خاص که به مشکلی در یک جزء خاص Apigee (روتر/پردازنده پیام) اشاره میکنند.
- با فعال کردن حالت اشکال زدایی در یک نمونه خاص از یک جزء Apigee، اطلاعات تشخیصی بیشتری جمع آوری کنید.
- رد کنید که مشکل ناشی از یک جزء خاص Apigee باشد.
- کشف کنید که آیا عملیاتی مانند ایجاد یک نمونه جدید یا راه اندازی مجدد نمونه تأثیر مطلوبی دارد یا خیر.
پیش نیازها
- دسترسی مستقیم به روتر یا اجزای پردازشگر پیام که درخواست های API باید بر اساس آنها اجرا شود.
- ابزار cURL باید روی نمونه خاصی از کامپوننت نصب شود.
درخواست API که می خواهید در قالب cURL آزمایش کنید.
به عنوان مثال، در اینجا یک دستور
curl
وجود دارد که می توانید از آن برای درخواست به یک پراکسی API از دستگاه محلی خود استفاده کنید:curl https://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
curl https://myorg-test.mycompany.com/v1/customers
نحوه اجرای درخواست های API به طور مستقیم در برابر روترهای Apigee
سناریو 1: درخواست های API برای میزبانی مستعار اشاره به روترها
اگر ورودی DNS نام مستعار میزبان پیکربندی شده باشد تا به روترهای Apigee Edge اشاره کند (به عبارت دیگر، Elastic Load Balancer (ELB) وجود ندارد)، می توانید از دستورات curl زیر برای ارسال درخواست های API به طور مستقیم به روتر استفاده کنید. :
میزبان مجازی برای ارتباط غیر ایمن از طریق پورت 80 پیکربندی شده است
curl -v --resolve HOST_ALIAS:80:127.0.0.1 http://HOST_ALIAS/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
به عنوان مثال:
curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
میزبان مجازی برای خاتمه SSL در پورت 443 روتر پیکربندی شده است
curl -v --resolve HOST_ALIAS:443:127.0.0.1 https://HOST_ALIAS/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
به عنوان مثال:
curl -v --resolve myorg-test.mycompany.com:443:127.0.0.1 https://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
سناریو 2: API درخواست میزبانی مستعار با اشاره به ELBها را دارد
اگر ورودی DNS نام مستعار میزبان طوری پیکربندی شده است که به یک Elastic Load Balancer (ELB) اشاره کند، میتوانید از دستورات curl زیر برای ارسال درخواستهای API مستقیماً به روتر استفاده کنید:
میزبان مجازی برای ارتباط غیر ایمن از طریق پورت 80 پیکربندی شده است
curl -v --resolve HOST_ALIAS:80:127.0.0.1 http://HOST_ALIAS/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
به عنوان مثال:
curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
میزبان مجازی پیکربندی شده برای پورت بالا و SSL در یک بار متعادل کننده در مقابل روتر Apigee خاتمه می یابد.
curl -v --resolve HOST_ALIAS:PORT_NUMBER:127.0.0.1 http:/HOST_ALIAS:PORT_NUMBER/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
به عنوان مثال:
curl -v --resolve myorg-test.mycompany.com:19001:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
میزبان مجازی پیکربندی شده برای پورت بالا و SSL در روتر Apigee خاتمه می یابد
به عبارت دیگر، متعادل کننده بار برای استفاده از عبور TCP به روتر Apigee پیکربندی شده است.
curl -v --resolve HOST_ALIAS:PORT_NUMBER:127.0.0.1 https:/HOST_ALIAS:PORT_NUMBER/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
به عنوان مثال:
curl -v --resolve myorg-test.mycompany.com:19001:127.0.0.1 https://myorg-test.mycompany.com/v1/customers -H 'authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
نحوه اجرای درخواست ها به طور مستقیم در برابر پردازنده های پیام Apigee
سناریو 1: درخواست API برای پردازشگر پیام از طریق درگاه پیش فرض 8998
پورت پیشفرضی که پردازشگر پیام به ترافیک روتر Apigee گوش میدهد 8998 است. بنابراین، برای تمام مواردی که این پورت تغییر نکرده است، ترافیک باید مستقیماً به این پورت در یک نمونه پردازشگر پیام خاص ارسال شود، مانند موارد زیر. مثال درخواست curl باید به URL http://INTERNAL_IP_OF_MP:8998
همراه با هدر X-Apigee.Host
با مقدار نام میزبان از جمله پورت مورد استفاده در میزبان های مجازی همانطور که در سه مثال زیر نشان داده شده است ارسال شود:
میزبان مجازی برای خاتمه SSL در روتر پیکربندی شده است
curl -v http://INTERNAL_IP_OF_MP:8998/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:443'
به عنوان مثال:
curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:443'
میزبان مجازی برای یک "پورت بالا" پیکربندی شده است و خاتمه SSL در یک متعادل کننده بار یا در یک روتر Apigee اتفاق می افتد:
curl -v http://INTERNAL_IP_OF_MP:8998/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:PORT_NUMBER'
به عنوان مثال:
curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:19001'
میزبان مجازی روی پورت http 80 پیش فرض پیکربندی شده است
curl -v http://INTERNAL_IP_OF_MP:8998/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:80'
به عنوان مثال:
curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:80'
سناریو 2: درخواست API برای پردازشگر پیام از طریق پورت SSL 8443
امکان پیکربندی ارتباط SSL بین روتر و پردازشگر پیام وجود دارد. نمونههای زیر از پورت 8443 استفاده میکنند، پورتی که توسط اسناد Apigee پیشنهاد شده است.
میزبان مجازی برای خاتمه SSL در روتر پیکربندی شده است
curl -v -k https://INTERNAL_IP_OF_MP:8443/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:443'
به عنوان مثال:
curl -v https://10.10.53.115:8443/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:80'
میزبان مجازی برای خاتمه SSL در یک بار متعادل کننده پیکربندی شده است و ترافیک به یک پورت بالا به روتر هدایت می شود.
curl -v https://INTERNAL_IP_OF_MP:8443/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:PORT_NUMBER'
به عنوان مثال:
curl -v https://10.10.53.115:8443/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:19001'