Apigee 및 Apigee Hybrid 문서입니다.
Apigee Edge 문서 보기
InvalidProtocol
오류 메시지
다음 오류 메시지와 함께 Apigee UI 또는 API를 통한 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입니다. TLS/SSL을 통해 syslog 메시지를 보내는 경우 TCP만 지원됩니다.
예를 들어 아래와 같이 MessageLogging 정책의 <Protocol>
요소에 HTTP를 지정하면 이 오류가 발생하여 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.
해결 방법
MessageLogging 정책의 <Protocol>
요소 내에 정의된 프로토콜이 올바른지 확인합니다. <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
오류 메시지
다음 오류 메시지와 함께 Apigee UI 또는 API를 통한 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 정책의 배포가 이 오류와 함께 실패할 수 있습니다. 포트 번호는 0보다 큰 정수여야 합니다.
예를 들어 <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.
해결 방법
MessageLogging 정책의 <Port>
요소 내에 포트 번호가 정의되어 있는지 확인합니다. 0보다 큰 정수여야 합니다.
위의 예시를 수정하려면 <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>