شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید . اطلاعات
پروتکل نامعتبر
پیغام خطا
استقرار یک پراکسی API از طریق Edge UI یا Edge management API با این پیام خطا انجام نمی شود:
Error Saving Revision revision_number Invalid Protocol: invalid_protocol for Syslog handler in policy policy_name.
نمونه پیام خطا
Error Saving Revision 4
Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
نمونه اسکرین شات
علت
اگر پروتکل مشخص شده در عنصر <Protocol>
معتبر نباشد، استقرار خط مشی MessageLogging ممکن است با این خطا شکست بخورد. پروتکل های معتبر TCP و UDP هستند. برای ارسال پیام های syslog از طریق TLS/SSL، فقط TCP پشتیبانی می شود.
به عنوان مثال، اگر HTTP را در عنصر <Protocol>
سیاست MessageLogging همانطور که در زیر نشان داده شده است مشخص کنید، استقرار پروکسی API با این خطا با شکست مواجه می شود:
<Protocol>HTTP</Protocol>
تشخیص
خط مشی MessageLogging را در جایی که خطا رخ داده است شناسایی کنید. شما می توانید این اطلاعات را در پیام خطا پیدا کنید. به عنوان مثال، در خطای زیر، نام سیاست
LogToSyslog:
Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
در پیکربندی سیاست MessageLogging ناموفق بررسی کنید که آیا پروتکل مشخص شده در عنصر
<Protocol>
معتبر است یا خیر. اگر یک پروتکل نامعتبر مشخص شده باشد، دلیل این خطا است.به عنوان مثال، سیاست زیر یک پروتکل نامعتبر را مشخص می کند.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MessageLogging name="LogToSyslog"> <Syslog> <Message>[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"] Weather request for WOEID {request.queryparam.w}.</Message> <Host>logs-01.loggly.com</Host> <Port>514</Port> <Protocol>HTTP</Protocol> <FormatMessage>true</FormatMessage> </Syslog> <logLevel>ALERT</logLevel> </MessageLogging>
از آنجایی که پروتکل تعریف شده در عنصر
<Protocol>
نامعتبر است، استقرار پروکسی API با خطا انجام نمی شود:Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
قطعنامه
اطمینان حاصل کنید که پروتکل تعریف شده در عنصر <Protocol>
سیاست MessageLogging معتبر است. عنصر <Protocol>
از مقادیر زیر پشتیبانی می کند:
- TCP
- UDP
برای تصحیح مثال بالا، یک پروتکل معتبر در عنصر <Protocol>
تعریف کنید:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MessageLogging name="LogToSyslog">
<Syslog>
<Message>[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"] Weather request for WOEID {request.queryparam.w}.</Message>
<Host>logs-01.loggly.com</Host>
<Port>514</Port>
<Protocol>TCP</Protocol>
<FormatMessage>true</FormatMessage>
</Syslog>
<logLevel>ALERT</logLevel>
</MessageLogging>
InvalidPort
پیغام خطا
استقرار یک پراکسی API از طریق Edge UI یا Edge management API با این پیام خطا انجام نمی شود:
Error Saving Revision revision_number Invalid Port: 0 for Syslog handler in policy policy_name.
نمونه پیام خطا
Error Saving Revision 4
Invalid Port: 0 for Syslog handler in policy LogToSyslog.
نمونه اسکرین شات
علت
اگر شماره پورت در عنصر <Port>
مشخص نشده باشد یا اگر معتبر نباشد، استقرار سیاست MessageLogging ممکن است با این خطا با شکست مواجه شود. شماره پورت باید یک عدد صحیح بزرگتر از صفر باشد.
به عنوان مثال، اگر عنصر <Port>
مطابق شکل زیر اعلام شود، استقرار پروکسی API با شکست مواجه می شود:
<Port>0</Port>
تشخیص
خط مشی MessageLogging را در جایی که خطا رخ داده است شناسایی کنید. می توانید این اطلاعات را از پیام خطا پیدا کنید. به عنوان مثال، در خطای زیر، نام سیاست
LogToSyslog:
Invalid Port: 0 for Syslog handler in policy LogToSyslog.
در خط مشی MessageLogging ناموفق بررسی کنید که آیا یک شماره پورت معتبر در عنصر
<Port>
مشخص شده است یا خیر. اگر شماره پورت تعریف نشده باشد یا نامعتبر باشد، دلیل این خطا است.به عنوان مثال، سیاست زیر یک شماره پورت نامعتبر را مشخص می کند:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MessageLogging name="LogToSyslog"> <Syslog> <Message>[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"] Weather request for WOEID {request.queryparam.w}.</Message> <Host>logs-01.loggly.com</Host> <Port>0</Port> <Protocol>TCP</Protocol> <FormatMessage>true</FormatMessage> </Syslog> <logLevel>ALERT</logLevel> </MessageLogging>
از آنجایی که شماره پورت تعریف شده در عنصر
<Port>
نامعتبر است، استقرار پروکسی API با خطا انجام نمی شود:Invalid Port: 0 for Syslog handler in policy LogToSyslog.
قطعنامه
اطمینان حاصل کنید که شماره پورت در عنصر <Port>
سیاست MessageLogging تعریف شده است. باید یک عدد صحیح بزرگتر از صفر باشد.
برای تصحیح مثال بالا، یک شماره پورت معتبر در عنصر <Protocol>
تعریف کنید.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MessageLogging name="LogToSyslog">
<Syslog>
<Message>[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"] Weather request for WOEID {request.queryparam.w}.</Message>
<Host>logs-01.loggly.com</Host>
<Port>514</Port>
<Protocol>TCP</Protocol>
<FormatMessage>true</FormatMessage>
</Syslog>
<logLevel>ALERT</logLevel>
</MessageLogging>