Compartir a través de


Personalización de la configuración de entrada en Azure Spring Apps

La información de este artículo puede ponerse en práctica en: ✔️ Básico o Estándar ✔️ Enterprise

En este artículo se muestra cómo establecer y actualizar la configuración de entrada de aplicaciones en Azure Spring Apps mediante Azure Portal y la CLI de Azure.

El servicio Azure Spring Apps usa un controlador de entrada subyacente para controlar la administración del tráfico de aplicaciones. La siguiente configuración de entrada se admite para la personalización.

Nombre Configuración de entrada Valor predeterminado Intervalo válido Descripción
ingress-read-timeout proxy-read-timeout 300 [1,1800] Tiempo de espera en segundos para leer una respuesta de un servidor proxy.
ingress-send-timeout proxy-send-timeout 60 [1,1800] Tiempo de espera en segundos para transmitir una solicitud al servidor proxy.
session-affinity affinity None Sesión, Ninguna Tipo de afinidad que hará que la solicitud llegue a la misma réplica de pod que respondía a la solicitud anterior. Establezca session-affinity en Cookie para habilitar la afinidad de sesión. Solo en el portal, debe elegir el cuadro habilitar afinidad de sesión.
session-max-age session-cookie-max-age 0 [0, 604800] Tiempo en segundos hasta que expire la cookie, correspondiente a la Max-Age directiva de cookies. Si establece en session-max-age 0, el período de expiración es igual al período de sesión del explorador.
backend-protocol backend-protocol Valor predeterminado Valor predeterminado, GRPC Establece el protocolo de back-end para indicar cómo NGINX debe comunicarse con el servicio back-end. El valor predeterminado significa HTTP/HTTPS/WebSocket. La backend-protocol configuración solo se aplica al tráfico de cliente a aplicación. Para el tráfico de la aplicación a la aplicación dentro de la misma instancia de servicio, elija cualquier protocolo para el tráfico de la aplicación a la aplicación sin modificar la backend-protocol configuración. El protocolo no restringe la elección del protocolo para el tráfico de aplicación a aplicación dentro de la misma instancia de servicio.

Requisitos previos

  • Suscripción a Azure. Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.

  • CLI de Azurecon la extensión Azure Spring Apps. Use el siguiente comando para quitar las versiones anteriores e instalar la extensión más reciente: Si ya ha instalado la extensión spring-cloud, desinstálela para evitar errores de coincidencia de la configuración y la versión.

    az extension remove --name spring
    az extension add --name spring
    az extension remove --name spring-cloud
    

Establezca la configuración de entrada

Use el siguiente comando de la CLI de Azure para establecer la configuración de entrada al crear.

az spring app create \
    --resource-group <resource-group-name> \
    --service <service-name> \
    --name <service-name> \
    --ingress-read-timeout 300 \
    --ingress-send-timeout 60 \
    --session-affinity Cookie \
    --session-max-age 1800 \
    --backend-protocol Default \

Este comando crea una aplicación con la siguiente configuración:

  • Tiempo de espera de lectura de entrada: 300 segundos
  • Tiempo de espera de envío de entrada: 60 segundos
  • Afinidad de sesión: Cookie
  • Antigüedad máxima de cookies de sesión: 1800 segundos
  • Protocolo back-end: predeterminado

Actualizar la configuración de entrada para una app existente

Siga estos pasos para actualizar la configuración de entrada de una aplicación hospedada por una instancia de servicio existente.

  1. Inicie sesión en el portal con una cuenta asociada a la suscripción a Azure que contiene la instancia de Azure Spring Apps.

  2. Vaya al panel Aplicaciones y, a continuación, seleccione la aplicación que desea configurar.

  3. Vaya al panel Configuración y seleccione la pestaña Configuración de entrada.

  4. Actualice la configuración de entrada y, a continuación, seleccione Guardar.

    Screenshot of Azure portal Configuration page showing the Ingress settings tab.

Preguntas más frecuentes

  • ¿Cómo habilita gRPC?

    Establezca el protocolo de back-end en GRPC.

  • ¿Cómo habilita WebSocket?

    WebSocket está habilitado de forma predeterminada si establece el protocolo back-end en Predeterminado. El límite de conexión de WebSocket es 20000. Cuando alcance ese límite, se producirá un error en la conexión.

    También puede usar RSocket basado en WebSocket.

  • ¿Cuál es la diferencia entre la configuración de entrada y la configuración de entrada?

    La configuración de entrada todavía se puede usar en la CLI de Azure y el SDK, y esa configuración se aplicará a todas las aplicaciones de la instancia de servicio. Una vez configurada una aplicación mediante la configuración de entrada, la configuración de entrada no la afectará. No se recomienda que los nuevos scripts usen la configuración de entrada, ya que planeamos dejar de admitirlo en el futuro.

  • Cuando se usa la configuración de entrada junto con App Gateway/APIM, ¿qué ocurre cuando se establece el tiempo de espera en la entrada de Azure Spring Apps y app Gateway/APIM?

    Se usa el tiempo de espera más corto.

  • ¿Necesita una configuración adicional en App Gateway o APIM si necesita tener compatibilidad completa con gRPC o WebSocket?

    No necesita una configuración adicional siempre que App Gateway admita gRPC.

  • ¿Se admite el puerto configurable?

    El puerto configurable no se admite actualmente (80/443).

Pasos siguientes