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

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

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

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

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

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

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

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

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

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

نام دارایی شرح مقادیر مجاز
HTTPHeader.ANY

این دارایی نشان می‌دهد که آیا برای همه سرایندهای HTTP، ازجمله سرایندهای سفارشی که به‌عنوان بخشی از درخواست HTTP ساخته‌شده توسط کارخواه یا پاسخ HTTP ارسال‌شده توسط سرور زیرینه به 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. در دستگاه «پردازشگر پیام»، دارایی HTTPHeader. را در دایرکتوری /opt/apigee/edge-message-processor/conf همان‌طور که در زیر نشان داده شده است جستجو کنید:

    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. سرصفحه HTTP Connection رونویسی شده است، اما مجاز است چندین مقدار و نسخه تکراری داشته باشد
    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=
<Blank> allowDuplicates multiValued 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 در ابر خصوصی» که در نحوه پیکربندی Edge توضیح داده شده است آشنایی دارید.

پیکربندی allowDuplicates و مقادیر متعدد برای سرایندها

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

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

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

  1. مقدار کنونی دارایی HTTPHeaderHEADER_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. مطمئن شوید که فایل خصوصیات متعلق به کاربر 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 و مقادیر متعدد برای سرایندها را به‌درستی دنبال کرده‌اید. اگر مرحله‌ای را ازدست داده‌اید، همه مراحل را دوباره به‌درستی تکرار کنید.

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

  6. اگر همچنان نمی‌توانید دارایی را اصلاح کنید، با پشتیبانی Apigee Edge تماس بگیرید

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

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

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

  1. مقدار کنونی دارایی HTTPHeaderHEADER_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. اگر هیچ موردی برای دارایی خاص وجود نداشته باشد، یعنی آن مقدار بازنویسی نشده است و این سرصفحه «نه» با پیکربندی ازپیش موجود است. این یعنی این سرصفحه خاص می‌تواند بیش‌از یک‌بار (تکرار مجاز است) به‌عنوان بخشی از درخواست 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. خطی را با قالب زیر به فایل دارایی‌ها اضافه کنید:

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

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

    conf_http_HTTPHeader.Expires=

    پیکربندی ازقبل موجود نیست

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

    conf/http.properties+HTTPHeader.myheader=
  5. تغییرات را ذخیره کنید.
  6. مطمئن شوید که فایل خصوصیات متعلق به کاربر 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 (و myheader) به‌عنوان سرصفحه نمونه استفاده می‌کنیم و بررسی می‌کنیم که آیا دارایی مربوطه HTTPHeader.Expires (و HTTPHeader.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.Expires ( و HTTPHeader.myheader ) با مقدار جدید {blank} در http.properties تنظیم شده است. این نشان می‌دهد که رفتار مجاز کردن موارد تکراری و مقادیر متعدد برای سرایند HTTP خاص Expires (و myheader) در «پردازشگر پیام» با موفقیت غیرفعال شده است.
  5. اگر هنوز مقدار قدیمی را برای دارایی HTTPHeader.Expires (or HTTPHeader.myheader) می‌بینید، تأیید کنید که همه مراحل ذکرشده در پیکربندی allowDuplicates و مقادیر متعدد برای سرایندها را به‌درستی دنبال کرده‌اید. اگر مرحله‌ای را ازدست داده‌اید، همه مراحل را دوباره به‌درستی تکرار کنید.

    توضیح داده شده است

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

  6. اگر همچنان نمی‌توانید دارایی را اصلاح کنید، با پشتیبانی Apigee Edge تماس بگیرید.