پاسخ 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 به هر نشانی وبی را دارد. در سناریو استقراری که «میانای کاربر Edge» با دیگر خدمات داخلی میزبانی مشترک می‌شود، کاربر مخرب ممکن است از ابزار ردیابی سوءاستفاده کند تا ازطریق نشانی IP خصوصی، مثل localhost یا 127.0.0.1، برای خدمات درخواست ارسال کند.

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

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

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

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

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

  • نشانی مسیریابی بازگشتی (127.0.0.1 یا میزبان محلی)
  • نشانی‌های محلی سایت (برای پروتکل اینترنتی نسخه ۴ - 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 برای «ابر خصوصی»، نشان زیر را در ui.properties تنظیم کنید:

conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"

برای تنظیم این دارایی:

  1. فایل ui.properties را در ویرایشگر باز کنید. اگر فایل وجود ندارد، آن را ایجاد کنید.
    vi /opt/apigee/customer/application/ui.properties
  2. دارایی‌های زیر را روی درست تنظیم کنید:
    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 خصوصی در ابزار ردیابی دسترسی داشته باشد.

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

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