شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید . اطلاعات
مقدمه
هنگام عیبیابی، ممکن است بخواهید APIها را مستقیماً روی اجزای Apigee مانند روتر یا پردازنده پیام اجرا کنید. برای مثال، ممکن است بخواهید این کار را به منظورهای زیر انجام دهید:
- مشکلات متناوب مربوط به درخواستهای API خاص که به مشکلی در یک جزء خاص Apigee (روتر/پردازشگر پیام) اشاره دارند را اشکالزدایی کنید.
- با فعال کردن حالت اشکالزدایی (debug mode) روی یک نمونه خاص از یک کامپوننت 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
سناریو ۱: درخواستهای API برای نامهای مستعار میزبان که به روترها اشاره میکنند
اگر ورودی DNS مربوط به نام مستعار میزبان طوری پیکربندی شده باشد که به روترهای Apigee Edge اشاره کند (به عبارت دیگر، متعادلکننده بار الاستیک (ELB) وجود نداشته باشد)، میتوانید از دستورات curl زیر برای ارسال مستقیم درخواستهای API به یک روتر استفاده کنید:
میزبان مجازی برای ارتباط غیر امن از طریق پورت ۸۰ پیکربندی شده است
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 را روی پورت ۴۴۳ روی روتر خاتمه دهد.
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'
سناریو ۲: درخواستهای API برای نامهای مستعار میزبان که به ELBها اشاره میکنند
اگر ورودی DNS مربوط به نام مستعار میزبان طوری پیکربندی شده باشد که به یک متعادلکننده بار الاستیک (ELB) اشاره کند، میتوانید از دستورات curl زیر برای ارسال مستقیم درخواستهای API به یک روتر استفاده کنید:
میزبان مجازی برای ارتباط غیر امن از طریق پورت ۸۰ پیکربندی شده است
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
سناریو ۱: درخواست API به پردازنده پیام از طریق پورت پیشفرض ۸۹۹۸
پورت پیشفرضی که پردازنده پیام روی آن به ترافیک روتر Apigee گوش میدهد، ۸۹۹۸ است. بنابراین، برای تمام مواردی که این پورت تغییر نکرده است، ترافیک باید مستقیماً به این پورت در یک نمونه پردازنده پیام خاص ارسال شود، همانطور که در مثال زیر نشان داده شده است. درخواست curl باید به آدرس اینترنتی http://INTERNAL_IP_OF_MP:8998 به همراه هدر X-Apigee.Host با مقدار hostname شامل پورت مورد استفاده در میزبانهای مجازی ارسال شود، همانطور که در سه مثال زیر نشان داده شده است:
میزبان مجازی برای خاتمه 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، یعنی ۸۰، پیکربندی شده است.
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'
سناریو ۲: درخواست API به پردازنده پیام از طریق پورت SSL ۸۴۴۳
پیکربندی ارتباط SSL بین روتر و پردازنده پیام امکانپذیر است. مثالهای زیر از پورت ۸۴۴۳، پورتی که توسط مستندات 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'