پاسخ HTTP 304 در جلسه ردیابی

شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید .
اطلاعات

علامت

در Edge برای فضای ابری خصوصی، هنگام ردیابی یک API در رابط کاربری Edge، یک پاسخ HTTP 304 در ستون وضعیت پنجره ردیابی مشاهده می‌کنید:

پیام‌های خطا

هیچ پیام خطایی وجود ندارد - فراخوانی پروکسی API در واقع یک پاسخ موفقیت‌آمیز، مانند HTTP 200، را برمی‌گرداند. با این حال، پنجره ردیابی در رابط کاربری Edge یک پاسخ HTTP 304 را نمایش می‌دهد و هیچ داده ردیابی جمع‌آوری نمی‌شود.

علل احتمالی

در Edge برای فضای ابری خصوصی، رابط کاربری Edge در تلاش است تا یک پروکسی API که توسط یک آدرس IP خصوصی قابل دسترسی است را ردیابی کند.

ابزار ردیابی در رابط کاربری Edge قابلیت ارسال درخواست API به هر URL را دارد. در یک سناریوی استقرار که رابط کاربری Edge با سایر سرویس‌های داخلی به صورت مشترک میزبانی می‌شود، یک کاربر مخرب ممکن است از ابزار ردیابی برای ارسال درخواست به سرویس‌ها از طریق یک آدرس IP خصوصی، مانند localhost یا 127.0.0.1، سوءاستفاده کند.

در یک محیط عملیاتی، معمولاً تنظیمات پیش‌فرض را به همان صورت رها می‌کنید تا از ردیابی آدرس IP خصوصی توسط کاربران جلوگیری شود. به عنوان مثال، نسخه عمومی رابط کاربری Edge به این صورت پیاده‌سازی می‌شود.

با این حال، برای یک محیط توسعه یا آزمایش داخلی، می‌توانید این پیش‌فرض را لغو کنید تا به توسعه‌دهندگان API خود اجازه دهید هر آدرس IP را ردیابی کنند. معمولاً، یک محیط توسعه/آزمایش پشت یک فایروال است که اجازه دسترسی عمومی را نمی‌دهد.

توجه: به عنوان بهترین روش، بهتر است تنظیمات پیش‌فرض را به همین صورت باقی بگذارید تا از دسترسی ردیابی به آدرس‌های IP خصوصی، حتی در محیط توسعه/آزمایش، جلوگیری شود، مگر اینکه در موقعیتی قرار بگیرید که مجبور به فعال کردن آن شوید.

علت: تلاش برای دسترسی به یک پروکسی API از طریق یک آدرس IP خصوصی

به طور پیش‌فرض، رابط کاربری Edge برای Edge برای Private Cloud مانع از ردیابی فراخوانی‌های API انجام شده از طریق آدرس‌های IP خصوصی توسط کاربران می‌شود. لیست آدرس‌های IP خصوصی شامل موارد زیر است:

  • آدرس حلقه برگشتی (127.0.0.1 یا localhost)
  • آدرس‌های محلی سایت (برای IPv4 - 10.0.0.0/8، 172.16.0.0/12، 192.168.0.0/16)
  • هر آدرس محلی (هر آدرسی که به localhost تبدیل شود)

برای مثال، دستور curl زیر با استفاده از آدرس IP 127.0.0.1 که یک آدرس IP خصوصی محسوب می‌شود، یک پروکسی API را فراخوانی می‌کند:

curl http://127.0.0.1:9001/myapiproxy

در پنجره ردیابی این فراخوانی، حتی اگر دستور curl نتیجه موفقیت‌آمیزی را برگرداند، پاسخ HTTP 304 را مشاهده خواهید کرد.

وضوح تصویر

برای فعال کردن رابط کاربری Edge برای ردیابی آدرس‌های IP خصوصی برای Edge در Private Cloud، توکن زیر را در ui.properties تنظیم کنید:

conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"

برای تنظیم این ویژگی:

  1. فایل ui.properties را در یک ویرایشگر باز کنید. اگر فایل وجود ندارد، آن را ایجاد کنید.
    vi /opt/apigee/customer/application/ui.properties
  2. ویژگی‌های زیر را روی true تنظیم کنید:
    conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"
  3. تغییرات خود را در ui.properties ذخیره کنید.
  4. مطمئن شوید که فایل properties متعلق به کاربر 'apigee' است:
    chown apigee:apigee /opt/apigee/customer/application/ui.properties
  5. رابط کاربری Edge را مجدداً راه‌اندازی کنید:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

رابط کاربری اج اکنون می‌تواند به آدرس‌های IP خصوصی در ابزار ردیابی دسترسی پیدا کند.

برای غیرفعال کردن رابط کاربری از ردیابی درخواست‌ها از طریق آدرس‌های IP خصوصی در آینده، ui.properties را ویرایش کنید تا ویژگی روی false تنظیم شود و سپس رابط کاربری Edge را مجدداً راه‌اندازی کنید.

برای اطلاعات بیشتر، به بخش «اجازه دسترسی رابط کاربری اج به آدرس‌های IP محلی» مراجعه کنید.