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

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

علامت

در Edge for the Private Cloud، هنگام ردیابی API در Edge UI، پاسخ HTTP 304 را در ستون وضعیت پنجره ردیابی مشاهده می‌کنید:

پیام های خطا

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

علل احتمالی

در Edge for the Private Cloud، رابط کاربری 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 خصوصی شامل:

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

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

curl http://127.0.0.1:9001/myapiproxy

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

قطعنامه

برای فعال کردن Edge UI برای ردیابی آدرس‌های 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. مطمئن شوید که فایل خواص متعلق به کاربر 'apigee' است:
    chown apigee:apigee /opt/apigee/customer/application/ui.properties
  5. رابط کاربری Edge را مجددا راه اندازی کنید:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

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

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

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