Configuración de App Service con Application Gateway

Application Gateway le permite tener una aplicación de App Service u otro servicio multiinquilino como miembro del grupo de back-end. En este artículo, aprenderá a configurar una aplicación de App Service con Application Gateway. La configuración de Application Gateway variará en función de cómo se acceda a App Service:

  • La primera opción usa un dominio personalizado tanto en Application Gateway como en App Service en back-end.
  • La segunda opción es hacer que Application Gateway acceda a App Service mediante su dominio predeterminado, con el sufijo ".azurewebsites.net".

Esta configuración se recomienda para escenarios de nivel de producción y cumple la práctica de no cambiar el nombre de host en el flujo de solicitud. Debe tener un dominio personalizado (y un certificado asociado) disponible para evitar tener que confiar en el dominio ".azurewebsites" predeterminado.

Al asociar el mismo nombre de dominio a Application Gateway y App Service en el grupo de back-end, el flujo de solicitud no necesita invalidar el nombre de host. La aplicación web de back-end verá el host original tal como lo usó el cliente.

Scenario overview for Application Gateway to App Service using the same custom domain for both

En este artículo, aprenderá a:

  • Configurar el DNS
  • Agregar App Service como grupo de back-end a Application Gateway
  • Configurar los valores de HTTP para la conexión a App Service
  • Configurar un agente de escucha HTTP
  • Configurar una regla de enrutamiento de solicitud

Requisitos previos

Configuring DNS (Configuración de DNS)

En el contexto de este escenario, DNS es relevante en dos lugares:

  • El nombre DNS, que el usuario o el cliente está usando para Application Gateway y se muestra en un explorador
  • El nombre DNS, que Application Gateway utiliza internamente para acceder a App Service en back-end

Enrute el usuario o el cliente a Application Gateway mediante el dominio personalizado. Configure DNS mediante un alias CNAME que apunte al DNS para Application Gateway. La dirección DNS de Application Gateway se muestra en la página de información general de la dirección IP pública asociada. También puede crear un registro A que apunte directamente a la dirección IP. (Para Application Gateway V1, la dirección VIP puede cambiar si detiene e inicia el servicio, lo que hace que esta opción no sea recomendable).

App Service debe configurarse para que acepte el tráfico de Application Gateway mediante el nombre de dominio personalizado como host entrante. Para obtener más información sobre cómo asignar un dominio personalizado a App Service, consulte Tutorial: Asignación de un nombre DNS personalizado existente a Azure App Service Para verificar el dominio, App Service solo requiere agregar un registro TXT. No se requiere ningún cambio en los registros A o CNAME. La configuración de DNS para el dominio personalizado permanecerá dirigida a Application Gateway.

Para aceptar conexiones a App Service a través de HTTPS, configure su enlace TLS. Para obtener más información, consulte Protección de un nombre DNS personalizado con un enlace TLS/SSL en Azure App Service Configure App Service para extraer el certificado para el dominio personalizado de Azure Key Vault.

Agregación de servicio de aplicaciones como grupo de back-end

  1. En Azure Portal, seleccione el recurso de Application Gateway.

  2. En Grupos de back-end, seleccione el grupo de back-end.

  3. En Tipo de destino, seleccione App Services.

  4. En Destino seleccione la instancia de App Service.

    App service backend

    Nota:

    La lista desplegable solo rellenará los App Services que se encuentren en la misma suscripción que Application Gateway. Si quiere usar un servicio de aplicaciones que está en una suscripción diferente de aquella en la que se encuentra Application Gateway, en lugar de seleccionar App Services en la lista desplegable Destinos, elija la opción Nombre de host o dirección IP y escriba el nombre de host (example.azurewebsites.net) de App Service.

  5. Seleccione Guardar.

Edición de una configuración de HTTP para App Service

Se requiere una configuración HTTP que indique a Application Gateway que debe acceder a App Service de back-end mediante el nombre de dominio personalizado. La configuración HTTP usará de forma predeterminada el sondeo de estado predeterminado. Aunque los sondeos de estado predeterminados reenviarán las solicitudes con el nombre de host en el que se recibe el tráfico, los sondeos de estado usarán 127.0.0.1 como nombre de host al grupo de back-end, ya que no se ha definido explícitamente ningún nombre de host. Por este motivo, necesitamos crear un sondeo de estado personalizado que esté configurado con el nombre de dominio personalizado correcto como nombre de host.

Nos conectaremos al back-end mediante HTTPS.

  1. En Configuración de HTTP, seleccione una configuración HTTP existente o agregue una nueva.
  2. Al crear una nueva configuración de HTTP, asígnele un nombre
  3. Seleccione HTTPS como protocolo de back-end deseado mediante el puerto 443
  4. Si el certificado está firmado por una entidad conocida, seleccione "Sí" en "User well known CA certificate" (Certificado de entidad de certificación conocido del usuario). Alternativamente, agregue certificados de autenticación o raíz de confianza de servidores back-end
  5. Asegúrese de establecer "Invalidar con nuevo nombre de host" en "No"
  6. Seleccione el sondeo de mantenimiento HTTPS personalizado en la lista desplegable de "Sondeo de mantenimiento".

Configure H T T P Settings to use custom domain towards App Service backend using No Override

Configurar un agente de escucha HTTP

Para aceptar el tráfico, es necesario configurar un agente de escucha. Para obtener más información, consulte Configuración del agente de escucha de Application Gateway.

  1. Abra la sección "Agentes de escucha" y elija "Agregar agente de escucha" o haga clic en uno existente para editarlo
  2. Para un nuevo agente de escucha: asígnele un nombre
  3. En "IP de front-end", seleccione la dirección IP en la que desea escuchar
  4. En "Puerto", seleccione 443
  5. En "Protocolo", seleccione "HTTPS"
  6. En "Elegir un certificado", seleccione "Elegir un certificado de Key Vault". Para obtener más información, consulte Uso de Key Vault, donde encontrará más información sobre cómo asignar una identidad administrada y proporcionar derechos a Key Vault.
    1. Asigne un nombre al certificado
    2. Selección de la identidad administrada
    3. Seleccione el Key Vault desde donde se va a obtener el certificado
    4. Seleccionar el certificado
  7. En "Tipo de agente de escucha", seleccione "Básico"
  8. Haga clic en "Agregar" para agregar el agente de escucha

Add a listener for H T T P S traffic

Configuración de la regla de enrutamiento de solicitudes

Use el grupo de back-end configurado anteriormente y la configuración de HTTP, la regla de enrutamiento de solicitudes se puede configurar para que asuma el tráfico de un cliente de escucha y lo enrute al grupo de back-end mediante la configuración de HTTP. Para ello, asegúrese de que tiene disponible un agente de escucha HTTP o HTTPS que aún no está enlazado a una regla de enrutamiento existente.

  1. En "Reglas", haga clic para agregar una nueva "Regla de enrutamiento de solicitud"
  2. Proporcione un nombre a la regla
  3. Seleccione un agente de escucha HTTP o HTTPS que aún no esté enlazado a una regla de enrutamiento existente
  4. En "Destinos de back-end", elija el grupo de back-end en el que se ha configurado App Service
  5. Configure las opciones HTTP con las que Application Gateway debe conectarse al back-end de App Service
  6. Seleccione "Agregar" para guardar esta configuración

Add a new Routing rule from the listener to the App Service Backend Pool using the configured H T T P Settings

Prueba

Antes de hacerlo, asegúrese de que el estado del back-end se muestra como correcto:

Abra la sección "Estado del back-end" y asegúrese de que la columna "Estado" indica que la combinación de configuración de HTTP y grupo de back-end se muestra en estado "Correcto".

Check backend health in Azure portal

Ahora, vaya a la aplicación web mediante el dominio personalizado que asoció con Application Gateway y App Service en el back-end.

Restricción del acceso

Las aplicaciones web implementadas en estos ejemplos usan direcciones IP públicas a las que se puede acceder directamente desde Internet. Esto ayuda a solucionar los problemas cuando se está aprendiendo una nueva característica y se prueban cosas nuevas. Pero si va a implementar una característica en un entorno de producción, tendrá que agregar más restricciones. Considere las opciones siguientes: