Configura el encabezado de omisión de omisión para la propiedad 405 en los procesadores de mensajes

Estás viendo la documentación de Apigee Edge.
Ve a la Documentación de Apigee X.
información

En la comunicación cliente-servidor, un servidor responde con el código de estado HTTP 405 Method Not Allowed si el El método de solicitud HTTP que presenta el cliente es conocido por el servidor. pero no es compatible con el recurso objetivo. De manera similar, en Apigee Edge, el servidor de backend puede responde con el código de estado HTTP 405 Method Not Allowed..

Apigee Edge espera que el servidor de backend envíe respuestas 405 Method Not Allowed con la lista de métodos permitidos en el encabezado Allow, según la especificación RFC 7231, sección 6.5.5: Método no permitido 405.

El encabezado Allow debe enviarse en el siguiente formato:

Allow: HTTP_METHODS

Por ejemplo, si tu servidor backend permite GET, POST y HEAD, debes asegurarte de que el encabezado Allow los contenga de la siguiente manera:

Allow: GET, POST, HEAD

Si el servidor de backend no envía el encabezado Allow con el código de estado HTTP. Luego, 405 Method Not Allowed, muestra el código de estado HTTP 502 Bad Gateway con el código de error protocol.http.Response405WithoutAllowHeader al aplicación cliente. La solución recomendada para abordar este error es para corregir el servidor de backend y que cumpla con la especificación . RFC 7231, sección 6.5.5: Método no permitido 405 o usa el manejo de fallas para responde con el código de estado HTTP 405 Method Not Allowed, incluida la Allow como se explica en la guía de solución de problemas Puerta de enlace incorrecta: respuesta 405 sin encabezado Permitir

Sin embargo, en algunos casos excepcionales, tal vez no sea posible corregir tu backend o modificar tu Proxy de API para solucionar este problema de inmediato.

En esos casos, puedes configurar el encabezado para ignorar la falta de permiso en la propiedad 405. HTTP.ignore.allow_header.for.405 a las Nivel de procesador de mensajes temporalmente. Establecer esta propiedad en true evita que Apigee de mostrar la respuesta 502 Bad Gateway a las aplicaciones cliente, incluso si la de backend envía el código de estado HTTP 405 Method Not Allowed sin el Allow.

Una vez que estés en posición de corregir tu servidor de backend para enviar el código de estado HTTP 405 Method Not Allowed con el encabezado Allow, puedes revertir la propiedad HTTP.ignore.allow_header.for.405 a su valor predeterminado false.

Antes de comenzar

Antes de seguir los pasos de este documento, asegúrate de comprender los siguientes temas:

Configura el encabezado de permitir ignorar la propiedad 405 como verdadero en Message Processors

En Apigee Edge, la propiedad HTTP.ignore.allow_header.for.405 se establece en false, de forma predeterminada. Esto permite que Apigee Edge muestre el 502 Bad Gateway con el código de error protocol.http.Response405WithoutAllowHeader al aplicaciones cliente si el servidor de backend envía el código de estado HTTP 405 Method Not Allowed sin el encabezado Allow. Si quieres evitar que Apigee Edge enviando 502 Bad Gateway a las aplicaciones cliente, debes establecer el valor de la propiedad HTTP.ignore.allow_header.for.405 a true en el mensaje Procesadores.

En esta sección, se explica cómo configurar la propiedad De HTTP.ignore.allow_header.for.405 a true en el Message Processors, utilizando el token según la sintaxis descrita en Cómo configurar Edge

  1. En la máquina del procesador de mensajes, abre el siguiente archivo en un editor. Si no ya existen, entonces la crearás.

    /opt/apigee/customer/application/message-processor.properties
    

    Por ejemplo, para abrir el archivo usando vi, ingresa lo siguiente:

    vi /opt/apigee/customer/application/message-processor.properties
    
  2. Agrega una línea con el siguiente formato al archivo de propiedades:
    conf_http_HTTP.ignore.allow_header.for.405=true
    
  3. Guarda los cambios.
  4. Asegúrate de que el archivo de propiedades sea propiedad del usuario de apigee, como se muestra a continuación:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. Reinicia Message Processor como se muestra a continuación:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. Si tienes más de un Message Processor, repite los pasos anteriores en todos los mensajes Procesadores.

Verificando que el encabezado de permitir ignorar la propiedad 405 esté configurado como verdadero en Message Processors

En esta sección, se explica cómo verificar que la propiedad HTTP.ignore.allow_header.for.405 se actualizó correctamente a true en los procesadores de mensajes.

Si bien usas el token conf_http_HTTP.ignore.allow_header.for.405 para actualizar el valor de la propiedad en Message Processor, debes verificar si la propiedad real HTTP.ignore.allow_header.for.405 se estableció en true.

  1. En la máquina del procesador de mensajes, busca la propiedad. HTTP.ignore.allow_header.for.405 en directorio /opt/apigee/edge-message-processor/conf y verifica si se estableció en true, como se muestra a continuación:
    grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
    
  2. Si la propiedad se actualizó correctamente en Message Processor, el comando anterior debe mostrar el valor de la propiedad HTTP.ignore.allow_header.for.405 como true en el archivo http.properties, como se muestra a continuación:
    /opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=true
    
  3. Si aún ves el valor de la propiedad HTTP.ignore.allow_header.for.405 como false y, luego, verifica que hayas seguido todos los pasos que se indican Configura el encabezado "Ignorar permite" en la propiedad 405 como "verdadero" Message Processor correctamente. Si omitiste algún paso, vuelve a repetirlo. correctamente.
  4. Si aún no puedes modificar la propiedad HTTP.ignore.allow_header.for.405 y, luego, comunícate con el equipo de asistencia de Apigee Edge.

Configura el encabezado de permitir ignorar la propiedad 405 como falso en los procesadores de mensajes

En esta sección, se explica cómo configurar la propiedad HTTP.ignore.allow_header.for.405 a su valor predeterminado false en el Message Processor, usando el token según la sintaxis descrita en Cómo configurar Edge.

  1. Verifica si la propiedad HTTP.ignore.allow_header.for.405 se modificó por true Para hacerlo, busca esta propiedad en el directorio /opt/apigee/edge-message-processor/conf y verificar su con el siguiente comando:
    grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
    
  2. Si la propiedad se establece en true en Message Processor, el comando anterior debe mostrar el valor de la propiedad HTTP.ignore.allow_header.for.405 como true en el archivo http.properties, como se muestra a continuación:
    /opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=true
    
  3. Si el comando anterior muestra que la propiedad HTTP.ignore.allow_header.for.405 esté establecida en false (valor predeterminado), no tendrás que realizar ninguna otra acción. Es decir, omite los siguientes pasos.
  4. Si la propiedad HTTP.ignore.allow_header.for.405 se configura como true, Luego, sigue estos pasos para volver a su valor predeterminado false.
  5. En la máquina del procesador de mensajes, abre el siguiente archivo en un editor:

    /opt/apigee/customer/application/message-processor.properties
    

    Por ejemplo, para abrir el archivo usando vi, ingresa lo siguiente:

    vi /opt/apigee/customer/application/message-processor.properties
    
  6. Quita la siguiente línea del archivo de propiedades:
    conf_http_HTTP.ignore.allow_header.for.405=true
    
  7. Guarda los cambios.
  8. Asegúrate de que el archivo de propiedades sea propiedad del usuario de apigee, como se muestra a continuación:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  9. Reinicia Message Processor como se muestra a continuación:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  10. Si tienes más de un Message Processor, repite los pasos anteriores en todos los mensajes Procesadores.

Verificando que el encabezado de permitir ignorar la propiedad 405 esté configurado como falso en los procesadores de mensajes

En esta sección, se explica cómo verificar que la propiedad HTTP.ignore.allow_header.for.405 se actualizó correctamente a false en los procesadores de mensajes.

Aunque uses el token conf_http_HTTP.ignore.allow_header.for.405 para actualizar el valor del mensaje Procesador, debes verificar si la propiedad real HTTP.ignore.allow_header.for.405 se estableció en false.

  1. En la máquina del procesador de mensajes, busca la propiedad. HTTP.ignore.allow_header.for.405 en el directorio /opt/apigee/edge-message- processor/conf y verifica si se configuró como false, como se muestra a continuación a continuación:
    grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
    
  2. Si la propiedad se actualizó correctamente en Message Processor, el comando anterior debe mostrar el valor de la propiedad HTTP.ignore.allow_header.for.405 como false en el archivo http.properties, como se muestra a continuación:
    /opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=false
    
  3. Si aún ves el valor de la propiedad HTTP.ignore.allow_header.for.405 como true y, luego, verifica que hayas seguido todos los pasos que se indican Configura el encabezado de permitir ignorar la propiedad 405 como falso en los procesadores de mensajes correctamente. Si omitiste algún paso, vuelve a repetirlo correctamente.
  4. Si aún no puedes modificar la propiedad HTTP.ignore.allow_header.for.405 y, luego, comunícate con el equipo de asistencia de Apigee Edge.