پیکربندی پردازشگرهای پیام برای اجازه دادن به هدرهای تکراری

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

طبق مشخصات HTTP RFC 7230، بخش 3.2.2: ترتیب فیلد ، Apigee Edge انتظار دارد که درخواست HTTP از کلاینت یا پاسخ HTTP از سرور backend شامل هدر یکسانی نباشد که بیش از یک بار با مقادیر یکسان یا متفاوت ارسال شود، مگر اینکه هدر خاص دارای استثنا باشد و مجاز به داشتن تکرار باشد.

به طور پیش‌فرض، Apigee Edge اجازه می‌دهد مقادیر تکراری و چندگانه به اکثر هدرهای HTTP ارسال شوند. با این حال، به برخی از هدرهایی که در Headers ذکر شده‌اند و مجاز به داشتن مقادیر تکراری و چندگانه نیستند، اجازه نمی‌دهد. بنابراین:

  • اگر کلاینت یک درخواست HTTP با هدر خاص را بیش از یک بار ارسال کند یا چندین مقدار برای هدرهای HTTP ارسال کند، 400 Bad Request با کد خطای protocol.http.DuplicateHeader دریافت خواهید کرد. هدرهای HTTP در Apigee Edge مجاز به داشتن مقادیر تکراری/متعدد نیستند.
  • به طور مشابه، اگر سرور backend بیش از یک بار پاسخ HTTP با هدر خاص یا با چندین مقدار برای هدرهای HTTP ارسال کند، خطای 502 Bad Gateway با کد خطای protocol.http.DuplicateHeader دریافت خواهید کرد. هدرهای HTTP در Apigee Edge مجاز به داشتن مقادیر تکراری یا چندگانه نیستند.

راه حل پیشنهادی برای رفع این خطاها، اصلاح برنامه کلاینت و سرور backend به گونه‌ای است که هدرهای تکراری ارسال نکنند و مطابق با مشخصات RFC 7230، بخش 3.2.2: ترتیب فیلدها، همانطور که در کتابچه‌های راهنمای عیب‌یابی زیر توضیح داده شده است، عمل کنند:

با این حال، در برخی موارد ممکن است بخواهید یک استثنا برای شامل کردن مقادیر تکراری و چندگانه برای برخی از هدرهای HTTP اضافه کنید. در چنین شرایطی، می‌توانید با تنظیم ویژگی HTTPHeader. HEADER_NAME

این سند اطلاعاتی در مورد این ویژگی ارائه می‌دهد، نحوه‌ی فعال‌سازی آن را برای جلوگیری از خطاهای ذکر شده در بالا توضیح می‌دهد و بهترین شیوه‌های مربوط به آن را به اشتراک می‌گذارد.

ویژگی‌های هدر HTTP برای مجاز کردن مقادیر تکراری و چندگانه

Apigee Edge دو ویژگی زیر را برای کنترل رفتار مجاز بودن مقادیر تکراری و چندگانه برای هدرهای HTTP ارائه می‌دهد. توجه داشته باشید که این موارد را فقط می‌توان در پردازنده‌های پیام با استفاده از نحو توکن توضیح داده شده در نحوه پیکربندی Edge پیکربندی کرد.

نام ملک توضیحات مقادیر مجاز
HTTPHeader. ANY

این ویژگی نشان می‌دهد که آیا مقادیر تکراری یا چندگانه برای همه هدرهای HTTP، از جمله هدرهای سفارشی ارسال شده به عنوان بخشی از درخواست HTTP ساخته شده توسط کلاینت یا پاسخ HTTP ارسال شده توسط سرور backend به Apigee Edge، مجاز هستند یا خیر.

مقدار پیش‌فرض:

multiValued, allowDuplicates,

  1. blank : مقادیر تکراری و چندگانه برای هدرهای HTTP مجاز نیستند.
  2. multiValued : هدر چند مقداری را به چندین هدر تقسیم می‌کند. مقادیر چندگانه برای هدرهای HTTP مجاز هستند، اما مقادیر تکراری مجاز نیستند. مقدار multiValued فعال است، که به این معنی است که test-header=a,b به test-header=a و test-header=b.
  3. allowDuplicates : اجازه می‌دهد چندین هدر HTTP (تکراری) با نام یکسان وجود داشته باشد.
  4. multiValued, allowDuplicates : هم مقادیر چندگانه و هم مقادیر تکراری برای هدرهای HTTP مجاز هستند.

HTTPHeader. HEADER_NAME

این ویژگی برای لغو رفتار یک هدر خاص از آنچه توسط HTTPHeader. ANY

همانند مورد بالا.

هدرهایی که مجاز به داشتن مقادیر تکراری و چندگانه نیستند

همانطور که قبلاً توضیح داده شد، Apigee Edge به طور پیش‌فرض اجازه می‌دهد که برای اکثر هدرهای HTTP، مقادیر تکراری و چندگانه وجود داشته باشد. دلیل این امر این است که ویژگی HTTPHeader. ANY با مقدار multiValued, allowDuplicates.

پیکربندی رونویسی شده

برای برخی از هدرهای خاص، پیکربندی پیش‌فرض با استفاده از یکی از روش‌های زیر بازنویسی می‌شود:

  • HTTPHeader. HEADER_NAME =multiValued, allowDuplicates

    این پیکربندی رفتار پیش‌فرض را تغییر نمی‌دهد . یعنی، به یک هدر خاص اجازه داده می‌شود که مقادیر تکراری و چندگانه داشته باشد.

    .
  • HTTPHeader. HEADER_NAME =

    این پیکربندی رفتار پیش‌فرض را تغییر می‌دهد . یعنی، یک هدر خاص مجاز به داشتن مقادیر تکراری و چندگانه نیست .

تعیین هدرهایی که مجاز به داشتن مقادیر تکراری و چندگانه نیستند

در این بخش نحوه شناسایی موارد زیر توضیح داده شده است:

  • هدرهای خاصی که مجاز به داشتن مقادیر تکراری و چندگانه در تنظیمات Apigee Edge Private Cloud شما نیستند ، و
  • هدرهای خاص با پیکربندی از پیش موجود
  1. در دستگاه پردازشگر پیام، مطابق شکل زیر، در دایرکتوری /opt/apigee/edge-message-processor/conf به دنبال ویژگی HTTPHeader. بگردید:

    grep -ri "HTTPHeader." /opt/apigee/edge-message-processor/conf
    

    خروجی نمونه:

    # grep -ri "HTTPHeader" /opt/apigee/edge-message-processor/conf
    /opt/apigee/edge-message-processor/conf/http.properties:HTTPHeader.ANY=allowDuplicates, multiValued
    /opt/apigee/edge-message-processor/conf/http.properties:HTTPHeader.Connection=allowDuplicates, multiValued
    … <snipped>
    /opt/apigee/edge-message-processor/conf/http.properties:HTTPHeader.Host=
    /opt/apigee/edge-message-processor/conf/http.properties:HTTPHeader.Expires=
    /opt/apigee/edge-message-processor/conf/http.properties:HTTPHeader.Date=allowDuplicates
    …
    <snipped>
  2. همانطور که در بخش بازنویسی پیکربندی توضیح داده شد، به اطلاعات زیر در خروجی نمونه بالا توجه کنید:
    1. Connection هدر HTTP رونویسی شده است، اما مجاز به داشتن مقادیر تکراری و چندگانه است.
    2. هدرهای HTTP Host و Expires رونویسی می‌شوند و مجاز به داشتن مقادیر تکراری و چندگانه نیستند.
    3. هدر HTTP Date رونویسی شده و مجاز به داشتن مقادیر تکراری است اما مجاز به داشتن چندین مقدار نیست.
    4. تمام هدرهایی که در اینجا ظاهر می‌شوند ( Connection ، Host ، Expires و Date در نمونه بالا) در این سند به عنوان هدرهایی با پیکربندی از پیش موجود شناخته می‌شوند.

رفتار Apigee Edge

جدول زیر رفتار Apigee Edge را هنگامی که هدرها به صورت تکراری و با مقادیر متعدد ارسال می‌شوند، بسته به نحوه پیکربندی ویژگی‌های HTTPHeader در پردازنده‌های پیام، با یک مثال HTTPHeader از test-header شرح می‌دهد.

درخواست هدرهای خروجی بر اساس مقدار conf/http.properties+HTTPHeader.test-header=
<خالی> اجازه کپی‌ها چندارزشی allowDuplicates، multiValued (پیش‌فرض)
test‑header=a,b test‑header=a,b test‑header=a,b

protocol.http.
DuplicateHeader

ما به صورت داخلی test-header=a,b را به موارد زیر تقسیم می‌کنیم:

  • test-header=a و
  • test-header=b

و سپس خطای DuplicateHeader صادر می‌شود.

test‑header=a,b

ما به صورت داخلی test-header=a,b را به موارد زیر تقسیم می‌کنیم:

  • test-header=a و
  • test-header=b

اما سپس فرم اصلی به مقصد ارسال می‌شود.

test‑header=a
test‑header=b
protocol.http.
DuplicateHeader
test‑header=a
test‑header=b
protocol.http.
DuplicateHeader
test‑header=a
test‑header=b

قبل از اینکه شروع کنی

قبل از استفاده از مراحل این سند، مطمئن شوید که پیکربندی ویژگی‌های Edge در Private Cloud را که در بخش «نحوه پیکربندی Edge» توضیح داده شده است، درک کرده‌اید.

پیکربندی allowDuplicates و مقادیر چندگانه برای هدرها

همانطور که در ویژگی‌های هدر HTTP برای مجاز دانستن مقادیر تکراری و چندگانه توضیح داده شد، مقدار ویژگی HTTPHeader. ANY = allowDuplicates, multiValued به این معنی است که همه هدرها مجاز به داشتن مقادیر تکراری و چندگانه در Apigee Edge هستند. با این حال، هدرهای خاصی وجود دارند که مقادیر آنها به صراحت بازنویسی شده است تا با استفاده از ویژگی HTTPHeader. HEADER_NAME

این بخش نحوه پیکربندی ویژگی HTTPHeader. HEADER_NAME را توضیح می‌دهد تا امکان کپی کردن و چندین مقدار برای هر هدر HTTP در پردازنده‌های پیام فراهم شود، با استفاده از توکن مربوطه طبق نحو شرح داده شده در نحوه پیکربندی Edge .

در این بخش، ما Expiresmyheader ) به عنوان یک هدر نمونه استفاده خواهیم کرد که می‌خواهیم مقادیر تکراری و چندگانه را همانطور که در زیر توضیح داده شده است، در آن مجاز کنیم:

  1. مقدار فعلی ویژگی HTTPHeader HEADER_NAME را با استفاده از دستور زیر تعیین کنید تا مطمئن شوید که از قبل فعال نشده است و اجازه می‌دهد مقادیر تکراری و چندگانه وجود داشته باشند:
    grep -ri "HTTPHeader.HEADER_NAME" /opt/apigee/edge-message-processor/conf
    

    برای مثال، اگر می‌خواهید ویژگی مربوط به هدر Expires را تنظیم کنید، مقدار فعلی نشانه HTTPHeader.Expires ویژگی را در پردازشگر پیام بررسی کنید:

    grep -ri "HTTPHeader.Expires" /opt/apigee/edge-message-processor/conf
    

    خروجی دستور فوق یکی از موارد زیر را نشان می‌دهد:

    1. اگر این ویژگی روی خالی تنظیم شده باشد، به این معنی است که مقدار بازنویسی شده است (و این یک هدر با پیکربندی از پیش موجود است) تا هدرهای تکراری و مقادیر چندگانه مجاز نباشند. یعنی، شما مجاز نیستید هدر Expires را بیش از یک بار به عنوان بخشی از درخواست HTTP یا پاسخ HTTP به Apigee ارسال کنید.
    2. هیچ نتیجه‌ای برای آن ویژگی خاص وجود ندارد، بنابراین این بدان معناست که آن مقدار رونویسی نشده است (و این یک هدر با پیکربندی از پیش موجود نیست). این بدان معناست که آن هدر خاص می‌تواند بیش از یک بار (ارسال موارد تکراری مجاز است) به عنوان بخشی از درخواست HTTP یا پاسخ HTTP به Apigee Edge ارسال شود.
    3. این ویژگی با مقدار allowDuplicates, multiValued تنظیم شده است، به این معنی که آن مقدار به طور صریح بازنویسی شده است (و این یک هدر با پیکربندی از پیش موجود است ). این بدان معناست که هدر خاص می‌تواند بیش از یک بار به عنوان بخشی از درخواست HTTP یا پاسخ HTTP به Apigee ارسال شود (ارسال موارد تکراری مجاز است).

    نمونه خروجی دستور جستجو:

    /opt/apigee/edge-message-processor/conf/http.properties:HTTPHeader.Expires=

    خروجی نمونه بالا نشان می‌دهد که ویژگی HTTPHeader.Expires روی خالی تنظیم شده است. این بدان معناست که این ویژگی بازنویسی شده است تا مقادیر تکراری یا چندگانه برای هدر Expires مجاز نباشد.

  2. اگر متوجه شدید که ویژگی مربوط به سرآیند خاص، مانند خروجی مثال بالا، به طور صریح بازنویسی شده است تا مقادیر تکراری یا چندگانه را مجاز نداند ، فقط در این صورت مراحل زیر را انجام دهید. اگر به طور صریح بازنویسی نشده است، از بقیه مراحل این بخش صرف نظر کنید.
  3. ویرایش. اگر وجود ندارد، می‌توانید آن را ایجاد کنید:
    /opt/apigee/customer/application/message-processor.properties

    برای مثال، برای باز کردن فایل با استفاده از vi ، دستور زیر را وارد کنید:

    vi /opt/apigee/customer/application/message-processor.properties
    
  4. یک خط با فرمت زیر اضافه کنید:
    conf_http_HTTPHeader.Expires=allowDuplicates, multiValued
  5. تغییرات خود را ذخیره کنید.
  6. مطمئن شوید که فایل properties متعلق به کاربر apigee است. اگر اینطور نیست، دستور زیر را اجرا کنید:

    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  7. پردازشگر پیام را مجدداً راه‌اندازی کنید:

    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    

    برای راه‌اندازی مجدد بدون تأثیر بر ترافیک، به راه‌اندازی مجدد پیوسته‌ی پردازنده‌های پیام بدون تأثیر بر ترافیک مراجعه کنید.

  8. اگر بیش از یک پردازشگر پیام دارید، مراحل بالا را روی همه پردازشگرهای پیام تکرار کنید.

تأیید پیکربندی هدر برای داشتن مقادیر تکراری و چندگانه

این بخش توضیح می‌دهد که چگونه تأیید کنیم که ویژگی HTTPHeader. HEADER_NAME برای یک سرآیند خاص با موفقیت به‌روزرسانی شده است تا امکان کپی‌برداری در پردازنده‌های پیام فراهم شود.

ما Expires به عنوان یک هدر نمونه استفاده خواهیم کرد و بررسی می‌کنیم که آیا ویژگی HTTPHeader.Expires مربوطه به‌روزرسانی شده است یا خیر.

حتی اگر از توکن conf_http_HTTPHeader.Expires برای به‌روزرسانی مقدار در پردازنده پیام استفاده کنید، باید تأیید کنید که آیا ویژگی واقعی HTTPHeader.Expires با مقدار جدید تنظیم شده است یا خیر.

  1. در دستگاه پردازشگر پیام، ویژگی HTTPHeader. HEADER_NAME در دایرکتوری /opt/apigee/edge-message-processor/conf جستجو کنید و بررسی کنید که آیا با مقدار جدید مطابق شکل زیر تنظیم شده است یا خیر:
    grep -ri "HTTPHeader.HEADER_NAME" /opt/apigee/edge-message-processor/conf
    

    برای مثال، اگر می‌خواهید بررسی کنید که آیا ویژگی HTTPHeader.Expires با مقدار جدید تنظیم شده است یا خیر، دستور زیر را اجرا کنید:

    grep -ri "HTTPHeader.Expires" /opt/apigee/edge-message-processor/conf
    
  2. اگر مقدار جدید با موفقیت برای HTTPHeader. HEADER_NAME در پردازنده پیام تنظیم شود، دستور بالا مقدار جدید را در فایل http.properties نشان می‌دهد.
  3. نتیجه نمونه از دستور بالا پس از پیکربندی allowDuplicates و multiValued به شرح زیر است:

    /opt/apigee/edge-message-processor/conf/http.properties:HTTPHeader.Expires=allowDuplicates, multiValued
  4. در خروجی مثال بالا، توجه داشته باشید که ویژگی HTTPHeader.Expires با مقدار جدید allowDuplicates, multiValued در http.properties تنظیم شده است. این نشان می‌دهد که رفتار مجاز کردن مقادیر تکراری و چندگانه در HTTPHeader با موفقیت در پردازنده پیام پیکربندی شده است.
  5. اگر هنوز مقدار قدیمی برای ویژگی HTTPHeader. HEADER_NAME را می‌بینید، تأیید کنید که تمام مراحل ذکر شده در پیکربندی allowDuplicates و multiple values ​​برای هدرها را به درستی دنبال کرده‌اید. اگر هر مرحله‌ای را از دست داده‌اید، تمام مراحل را دوباره به درستی تکرار کنید.

    مطمئن شوید که پروکسی‌های شما مطابق انتظار کار می‌کنند، به خصوص اگر منطق کاربردی برای دریافت و تنظیم هدرها در پروکسی وجود دارد.

  6. اگر هنوز قادر به تغییر ملک نیستید، با پشتیبانی Apigee Edge تماس بگیرید

غیرفعال کردن allowDuplicates برای هدرها

این بخش نحوه پیکربندی ویژگی HTTPHeader.{Headername} را توضیح می‌دهد تا اجازه ندهد مقادیر تکراری و چندگانه برای یک هدر HTTP خاص در پردازنده‌های پیام وجود داشته باشد، و از توکن مربوطه مطابق با سینتکس شرح داده شده در نحوه پیکربندی Edge استفاده می‌کند.

در این بخش، ما Expiresmyheader ) به عنوان یک هدر نمونه استفاده خواهیم کرد که نمی‌خواهیم موارد تکراری را در آن مجاز بدانیم، همانطور که در زیر توضیح داده شده است:

  1. مقدار فعلی ویژگی HTTPHeader HEADER_NAME را با استفاده از دستور زیر تعیین کنید تا مطمئن شوید که قبلاً غیرفعال نشده است تا مقادیر تکراری و چندگانه را مجاز بداند:
    grep -ri "HTTPHeader.HEADER_NAME" /opt/apigee/edge-message-processor/conf
    

    برای مثال، اگر می‌خواهید ویژگی مربوط به سرآیند Expires را تنظیم کنید، مقدار فعلی نشانه HTTPHeader.Expires را در پردازشگر پیام بررسی کنید:

    grep -ri "HTTPHeader.Expires" /opt/apigee/edge-message-processor/conf
    

    خروجی دستور فوق یکی از موارد زیر را نشان می‌دهد:

    1. اگر این ویژگی روی خالی تنظیم شده باشد، به این معنی است که مقدار آن روی NOT بازنویسی می‌شود تا هدرهای تکراری و مقادیر چندگانه مجاز نباشند . یعنی شما مجاز نیستید هدر Expires را بیش از یک بار به عنوان بخشی از درخواست HTTP یا پاسخ HTTP به Apigee ارسال کنید.
    2. هیچ نتیجه‌ای برای ویژگی خاص وجود ندارد، بنابراین این بدان معناست که آن مقدار رونویسی نشده است و این یک هدر NOT با پیکربندی از پیش موجود است . این بدان معناست که هدر خاص می‌تواند بیش از یک بار به عنوان بخشی از درخواست HTTP یا پاسخ HTTP به Apigee Edge ارسال شود (ارسال موارد تکراری مجاز است).
    3. این ویژگی با مقدار allowDuplicates, multiValued ، به این معنی است که مقدار به صراحت بازنویسی شده و این یک پیکربندی موجود است . با این حال، این بدان معناست که هدر خاص می‌تواند بیش از یک بار به عنوان بخشی از درخواست HTTP یا پاسخ HTTP به Apigee ارسال شود (ارسال موارد تکراری مجاز است).

    خروجی نمونه شماره ۱

    نمونه خروجی شماره ۱ از دستور جستجو:

    /opt/apigee/edge-message-processor/conf/http.properties:HTTPHeader.Expires=allowDuplicates, multiValued

    خروجی نمونه نشان می‌دهد که ویژگی HTTPHeader.Expires روی allowDuplicates, multiValued تنظیم شده است. این بدان معناست که این ویژگی بازنویسی شده است تا اجازه دهد مقادیر تکراری یا چندگانه برای هدر Expires وجود داشته باشد.

    نمونه خروجی شماره ۲

    نمونه دستور و خروجی شماره ۲ از دستور جستجو

    grep -ri "HTTPHeader.myheader" /opt/apigee/edge-message-processor/conf
    

    خروجی نمونه هیچ خروجی نشان نمی‌دهد، که نشان می‌دهد ویژگی HTTPHeader.myheader روی allowDuplicates, multiValued . این همچنین نشان می‌دهد که این ویژگی برای هدر myheader رونویسی نشده است ،

  2. اگر متوجه یکی از موارد زیر شدید، بقیه مراحل این بخش را انجام دهید:
    1. ویژگی مربوط به هدر خاص بازنویسی می‌شود تا مقادیر تکراری و چندگانه مانند نمونه خروجی شماره ۱ در بالا (هدر با پیکربندی از پیش موجود ) مجاز باشند.
    2. هیچ نتیجه‌ای برای ویژگی مربوط به سربرگ خاص، مانند نمونه خروجی شماره ۲ در بالا، وجود ندارد (سربرگی با پیکربندی از پیش موجود نیست).

    در غیر این صورت، از بقیه مراحل این بخش صرف نظر کنید.

  3. فایل زیر را ویرایش کنید. اگر وجود ندارد، می‌توانید آن را ایجاد کنید.
    /opt/apigee/customer/application/message-processor.properties

    برای مثال، برای باز کردن فایل با استفاده از vi ، دستور زیر را وارد کنید:

    vi /opt/apigee/customer/application/message-processor.properties
    
  4. یک خط با فرمت زیر به فایل properties اضافه کنید:

    پیکربندی از پیش موجود

    سناریوی شماره ۱: هدر با پیکربندی از پیش موجود:

    conf_http_HTTPHeader.Expires=

    بدون پیکربندی از پیش موجود

    سناریوی شماره ۲: هدری با پیکربندی از پیش موجود وجود ندارد:

    conf/http.properties+HTTPHeader.myheader=
  5. تغییرات خود را ذخیره کنید.
  6. مطمئن شوید که فایل properties متعلق به کاربر apigee است. اگر اینطور نیست، دستور زیر را اجرا کنید:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  7. پردازشگر پیام را مجدداً راه‌اندازی کنید:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    

    برای راه‌اندازی مجدد بدون تأثیر بر ترافیک، به راه‌اندازی مجدد پیوسته‌ی پردازنده‌های پیام بدون تأثیر بر ترافیک مراجعه کنید.

  8. اگر بیش از یک پردازشگر پیام دارید، مراحل بالا را روی همه پردازشگرهای پیام تکرار کنید.

تأیید پیکربندی هدر برای عدم اجازه به مقادیر تکراری و چندگانه

این بخش توضیح می‌دهد که چگونه تأیید کنیم که ویژگی HTTPHeader. HEADER_NAME برای یک سرآیند خاص با موفقیت به‌روزرسانی شده است تا در پردازنده‌های پیام، موارد تکراری مجاز نباشند.

ما از Expiresmyheader ) به عنوان یک هدر نمونه استفاده خواهیم کرد و بررسی می‌کنیم که آیا ویژگی مربوطه HTTPHeader.ExpiresHTTPHeader.myheader ) به‌روزرسانی شده است یا خیر.

  1. در دستگاه پردازشگر پیام، ویژگی HTTPHeader. HEADER_NAME در دایرکتوری /opt/apigee/edge-message- processor/conf جستجو کنید و بررسی کنید که آیا با مقدار جدید مطابق شکل زیر تنظیم شده است یا خیر:

    grep -ri "HTTPHeader.HEADER_NAME" /opt/apigee/edge-message-processor/conf
    

    برای مثال، اگر می‌خواهید بررسی کنید که آیا ویژگی HTTPHeader.Expires با مقدار جدید تنظیم شده است یا خیر، می‌توانید دستور زیر را اجرا کنید:

    پیکربندی از پیش موجود

    grep -ri "HTTPHeader.Expires" /opt/apigee/edge-message-processor/conf
    

    بدون پیکربندی از پیش موجود

    grep -ri "HTTPHeader.myheader" /opt/apigee/edge-message-processor/conf
    
  2. اگر مقدار هدر HTTP جدید با موفقیت برای HTTPHeader. HEADER_NAME I در پردازنده پیام تنظیم شود، دستور بالا مقدار جدید را در فایل http.properties نشان می‌دهد.
  3. نتیجه نمونه از دستور بالا پس از غیرفعال کردن allowDuplicates به شرح زیر است:

    پیکربندی از پیش موجود

    سناریوی شماره ۱ : هدر منقضی می‌شود ( هدر با پیکربندی از پیش موجود)

    /opt/apigee/edge-message-processor/conf/http.properties:HTTPHeader.Expires=

    بدون پیکربندی از پیش موجود

    سناریوی شماره ۲: هدر myheader (هدر با پیکربندی از پیش موجود نیست)

    /opt/apigee/edge-message-processor/conf/http.properties:HTTPHeader.myheader=
  4. در خروجی مثال بالا، توجه داشته باشید که ویژگی HTTPHeader.ExpiresHTTPHeader.myheader ) با مقدار جدید { blank} در http.properties تنظیم شده است. این نشان می‌دهد که رفتار مجاز بودن مقادیر تکراری و چندگانه برای هدر HTTP خاص Expiresmyheader ) با موفقیت در پردازنده پیام غیرفعال شده است.
  5. اگر هنوز مقدار قدیمی برای ویژگی HTTPHeader.Expires (or HTTPHeader.myheader) را می‌بینید، تأیید کنید که تمام مراحل ذکر شده در پیکربندی allowDuplicates و multiple values ​​for headers را به درستی دنبال کرده‌اید. اگر هر مرحله‌ای را از دست داده‌اید، تمام مراحل را دوباره به درستی تکرار کنید.

    مطمئن شوید که پروکسی‌های شما مطابق انتظار کار می‌کنند، به خصوص اگر منطق کاربردی برای دریافت و تنظیم هدرها در پروکسی وجود دارد.

  6. اگر هنوز قادر به تغییر ملک نیستید، با پشتیبانی Apigee Edge تماس بگیرید.