Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se explica cómo configurar opciones comunes para aplicaciones web, un back-end móvil o una aplicación de API. Para Azure Functions, consulte Referencia de configuración de aplicación para Azure Functions.
Configuración de aplicaciones
En Azure App Service, la configuración de la aplicación son variables que se pasan como variables de entorno al código de la aplicación. Las condiciones siguientes se aplican a la configuración de la aplicación:
- Los nombres de configuración de la aplicación solo pueden contener letras, números (0-9), puntos (.) y caracteres de subrayado (_).
- Los caracteres especiales del valor de una configuración de aplicación deben escaparse según sea necesario para el sistema operativo de destino.
Por ejemplo, para establecer una variable de entorno en App Service para Linux con el valor "pa$$w0rd\"
, la cadena de la configuración de la aplicación debe ser "pa\$\$w0rd\\"
.
En el caso de las aplicaciones linux y los contenedores personalizados, App Service pasa la configuración de la aplicación al contenedor mediante la --env
marca para establecer la variable de entorno en el contenedor. En cualquier caso, se insertan en el entorno de la aplicación al iniciar la aplicación. Al agregar, quitar o editar la configuración de la aplicación, App Service desencadena un reinicio de la aplicación.
Para los desarrolladores de ASP.NET y ASP.NET Core, la configuración de las opciones de la aplicación en App Service es como configurarlas en <appSettings>
o Web.config
appsettings.json
. Los valores de App Service invalidan los de Web.config
o appsettings.json
. Puede mantener la configuración de desarrollo, como la contraseña local de MySQL, en Web.config
o appsettings.json
. Puede mantener secretos de producción, como la contraseña de base de datos de Azure MySQL, de forma segura en App Service. El mismo código usa la configuración de desarrollo al depurar localmente. Usa los secretos de producción al implementarlos en Azure.
Otras pilas de lenguaje obtienen la configuración de la aplicación como variables de entorno en tiempo de ejecución. Para conocer los pasos específicos de cada pila de lenguajes, consulte:
La configuración de la aplicación siempre se cifra cuando se almacenan (cifradas en reposo).
Nota:
Si almacena secretos en la configuración de la aplicación, considere la posibilidad de usar referencias de Azure Key Vault. Si los secretos son para la conectividad a los recursos back-end, considere las opciones de conectividad que son más seguras y que no requieren secretos. Para más información, consulte Conectividad segura a servicios y bases de datos de Azure desde Azure App Service.
En Azure Portal, busque y seleccione App Services y luego elija la aplicación.
En el menú izquierdo de la aplicación, seleccione Configuración Variables> deentorno. A continuación, seleccione Configuración de la aplicación.
De forma predeterminada, los valores de configuración de la aplicación están ocultos en el portal por motivos de seguridad. Para ver un valor oculto de una configuración de aplicación, en Valor, seleccione Mostrar valor. Para ver los valores ocultos de toda la configuración de la aplicación, seleccione Mostrar valores.
Nota:
Se requieren permisos de usuario de lectura y escritura para ver esta sección en Azure Portal. Los roles integrados de RBAC con permisos suficientes son Propietario, Colaborador y Colaborador del sitio web. El rol Lector por sí solo no podrá acceder a esta página.
Para agregar una configuración de aplicación, seleccione Agregar. Para editar una configuración, seleccione la configuración.
En el cuadro de diálogo, puede fijar la configuración a la ranura actual.
Nota:
En un servicio de aplicaciones Linux predeterminado o un contenedor de Linux personalizado, cualquier estructura de clave JSON anidada en el nombre de la configuración de la aplicación debe configurarse de forma diferente para el nombre de clave. Reemplace los dos puntos (
:
) por un carácter de subrayado doble (__
). Reemplace cualquier punto (.
) por un único carácter de subrayado (_
). Por ejemplo,ApplicationInsights:InstrumentationKey
debe configurarse en App Service comoApplicationInsights__InstrumentationKey
para el nombre de clave.Cuando haya terminado, seleccione Aplicar. A continuación, seleccione Aplicar en la página Variables de entorno .
Edición de la configuración de la aplicación en bloque
- Seleccione Edición avanzada.
- Edite la configuración en el área de texto.
- Cuando termine, seleccione Aceptar. A continuación, seleccione Aplicar en la página Variables de entorno .
La configuración de la aplicación tiene el formato JSON siguiente:
[
{
"name": "<key-1>",
"value": "<value-1>",
"slotSetting": false
},
{
"name": "<key-2>",
"value": "<value-2>",
"slotSetting": false
},
...
]
Configurar cadenas de conexión
En esta sección se describe cómo configurar cadenas de conexión.
Nota:
Considere las opciones de conectividad que son más seguras y que no requieren secretos de conexión. Para más información, consulte Conectividad segura a servicios y bases de datos de Azure desde Azure App Service.
Para los desarrolladores de ASP.NET y ASP.NET Core, establecer cadenas de conexión en App Service es como establecerlas en <connectionStrings>
en Web.config
. Los valores establecidos en App Service invalidan los de Web.config
. Puede mantener la configuración de desarrollo, como un archivo de base de datos, en Web.config
. Puede mantener secretos de producción, como las credenciales de base de datos SQL, de forma segura en App Service. El mismo código usa la configuración de desarrollo al depurar localmente. Usa los secretos de producción al implementarlos en Azure.
En el caso de otros entornos de lenguaje, es mejor usar ajustes de la aplicación en su lugar. Las cadenas de conexión requieren un formato especial en las claves de variable para acceder a los valores.
Hay un caso en el que es posible que quieras usar cadenas de conexión en lugar de la configuración de aplicaciones para lenguajes que no son .NET. Se realiza una copia de seguridad de determinados tipos de base de datos de Azure junto con la aplicación solo si configura una cadena de conexión para la base de datos en la aplicación de App Service. Para obtener más información, consulte Creación de una copia de seguridad personalizada. Si no necesita esta copia de seguridad automatizada, use la configuración de la aplicación.
En tiempo de ejecución, las cadenas de conexión están disponibles como variables de entorno, con los siguientes tipos de conexión como prefijo:
- SQL Server:
SQLCONNSTR_
- MySQL:
MYSQLCONNSTR_
- Azure SQL:
SQLAZURECONNSTR_
- Personalizado:
CUSTOMCONNSTR_
- PostgreSQL:
POSTGRESQLCONNSTR_
- Azure Notification Hubs:
NOTIFICATIONHUBCONNSTR_
- Azure Service Bus:
SERVICEBUSCONNSTR_
- Azure Event Hubs:
EVENTHUBCONNSTR_
- Azure Cosmos DB:
DOCDBCONNSTR_
- cache de Redis:
REDISCACHECONNSTR_
Nota:
Las aplicaciones .NET destinadas a PostgreSQL, Notification Hubs, Service Bus, Event Hubs, Azure Cosmos DB y Redis Cache deben establecer la cadena de conexión en Custom como solución alternativa para un problema conocido en .NET EnvironmentVariablesConfigurationProvider.
Por ejemplo, se puede obtener acceso a una cadena de conexión de MySQL denominada connectionstring1 como la variable de entorno MYSQLCONNSTR_connectionString1
. Para conocer los pasos específicos de cada pila de lenguajes, consulte:
Las cadenas de conexión siempre se cifran cuando se almacenan (cifradas en reposo).
Nota:
También puede resolver cadenas de conexión desde Key Vault mediante referencias de Key Vault.
En Azure Portal, busque y seleccione App Services y luego elija la aplicación.
En el menú izquierdo de la aplicación, seleccione Configuración Variables> deentorno. A continuación, seleccione Cadenas de conexión.
De forma predeterminada, los valores de las cadenas de conexión están ocultos en el portal por motivos de seguridad. Para ver un valor oculto de una cadena de conexión, en Valor, seleccione Mostrar valor. Para ver los valores ocultos de todas las cadenas de conexión, seleccione Mostrar valores.
Para agregar una nueva cadena de conexión, seleccione Agregar. Para editar una cadena de conexión, seleccione la cadena de conexión.
En el cuadro de diálogo, puede fijar la cadena de conexión a la ranura actual.
Cuando haya terminado, seleccione Aplicar. A continuación, seleccione Aplicar en la página Variables de entorno .
Modificar cadenas de conexión de forma masiva
- Seleccione Edición avanzada.
- Edite las cadenas de conexión en el área de texto.
- Cuando haya terminado, seleccione Aplicar. No se olvide de seleccionar Aplicar también en la página de variables de entorno.
Las cadenas de conexión tienen el formato JSON siguiente:
[
{
"name": "name-1",
"value": "conn-string-1",
"type": "SQLServer",
"slotSetting": false
},
{
"name": "name-2",
"value": "conn-string-2",
"type": "PostgreSQL",
"slotSetting": false
},
...
]
Configurar las opciones de pila de lenguaje
Para configurar la configuración de stack de idioma, consulte estos recursos:
Configurar las opciones generales
Para configurar las opciones generales, siga los pasos de las herramientas que prefiera.
En Azure Portal, busque y seleccione App Services y luego elija la aplicación.
En el menú izquierdo de la aplicación, seleccione Configuración de configuración>. A continuación, seleccione Configuración general.
En este caso, puede configurar algunas opciones comunes para la aplicación. Algunas configuraciones requieren escalar verticalmente hasta los planes de tarifa superiores.
Configuración de pila: Configure las opciones de la pila de software para ejecutar la aplicación, incluidos el lenguaje y las versiones del SDK.
En el caso de las aplicaciones de Linux, puede seleccionar la versión de Language Runtime y establecer un comando de inicio opcional.
Configuración de la plataforma: configure las opciones de la plataforma de hospedaje, entre las que se incluyen:
Plataforma: elija 32 o 64 bits. Solo para aplicaciones Windows.
Estado ftp: permitir solo FTPS o deshabilitar FTP por completo.
Versión HTTP: establezca en 2.0 para habilitar la compatibilidad con el protocolo HTTPS/2 .
Nota:
La mayoría de los exploradores modernos solo admiten el protocolo HTTP/2 a través de TLS. El tráfico sin cifrar sigue usando HTTP/1.1. Para asegurarse de que los exploradores del cliente se conectan a la aplicación con HTTP/2, proteja el nombre DNS personalizado. Para más información, consulte Proporcionar seguridad para un nombre DNS personalizado con un enlace TLS/SSL en App Service.
Sockets web: configure para ASP.NET SignalR o socket.io, por ejemplo.
Always On: active si desea mantener la aplicación cargada incluso cuando no haya tráfico.
Cuando AlwaysOn está desactivado (valor predeterminado), la aplicación se descarga después de 20 minutos sin solicitudes entrantes. La aplicación descargada puede provocar una latencia alta para las nuevas solicitudes debido a su tiempo de preparación.
Cuando AlwaysOn está activado, el equilibrador de carga de front-end envía una
GET
solicitud a la raíz de la aplicación cada cinco minutos. El ping continuo impide que la aplicación se descargue.Always On es necesario para WebJobs continuos o para WebJobs activados por una expresión cron.
Afinidad de sesión: en una implementación de varias instancias, asegúrese de que el cliente se enruta a la misma instancia durante la vida útil de la sesión. Puede establecer esta opción en Desactivada para las aplicaciones sin estado.
Proxy de afinidad de sesión: Active si la aplicación está detrás de un proxy inverso (como Azure Application Gateway o Azure Front Door) y usa el nombre de host predeterminado. El dominio de la cookie de afinidad de sesión se alinea con el nombre de host reenviado desde el proxy inverso.
Solo HTTPS: habilite si desea redirigir todo el tráfico HTTP a HTTPS.
Versión mínima de TLS: seleccione la versión mínima de cifrado TLS que requiere la aplicación.
Depuración: habilite la depuración remota para las aplicaciones ASP.NET, ASP.NET Core o Node.js. Esta opción se desactiva automáticamente después de 48 horas.
Certificados de cliente entrantes: requerir certificados de cliente en la autenticación mutua.
Configurar documentos predeterminados
El documento predeterminado es la página web que aparece en la dirección URL raíz de una aplicación de App Service. Se usa el primer archivo coincidente en la lista. Si la aplicación usa módulos que se enrutan en función de la dirección URL en lugar de servir contenido estático, no hay necesidad de documentos predeterminados.
La configuración para configurar documentos predeterminados es solo para las aplicaciones de Windows.
- En Azure Portal, busque y seleccione App Services y luego elija la aplicación.
- En el menú izquierdo de la aplicación, seleccione Configuración. A continuación, seleccione Documentos predeterminados.
- Para agregar un documento predeterminado, seleccione Nuevo documento. Para quitar un documento predeterminado, seleccione Eliminar a su derecha.
Asignación de una ruta de acceso URL a un directorio
De forma predeterminada, App Service inicia la aplicación desde el directorio raíz del código de la aplicación. Sin embargo, algunos marcos web no se inician en el directorio raíz. Por ejemplo, Laravel se inicia en el subdirectorio public
. Por ejemplo, en http://contoso.com/public
, se podría acceder a una aplicación de este tipo, pero normalmente, en su lugar, querrá redirigir http://contoso.com
al directorio public
. Si el archivo de startup de la aplicación está en una carpeta diferente, o si el repositorio tiene más de una aplicación, puede editar o agregar aplicaciones y directorios virtuales.
La característica de asignar un directorio virtual a una ruta de acceso física solo está disponible en las aplicaciones de Windows.
En Azure Portal, busque y seleccione App Services y luego elija la aplicación.
En el menú izquierdo de la aplicación, seleccione Configuración de configuración>. A continuación, seleccione Asignaciones de rutas.
Seleccione Nueva aplicación o directorio virtual. A continuación, realice una de estas acciones:
- Para asignar un directorio virtual a una ruta de acceso física, deje el directorio seleccionado. Especifique el directorio virtual y la ruta de acceso relativa (física) correspondiente a la raíz del sitio web (
D:\home
). - Para marcar un directorio virtual como una aplicación web, anule la selección de Directorio.
- Para asignar un directorio virtual a una ruta de acceso física, deje el directorio seleccionado. Especifique el directorio virtual y la ruta de acceso relativa (física) correspondiente a la raíz del sitio web (
Seleccione Aceptar. A continuación, seleccione Guardar en la página Configuración .
Configuración de asignaciones de controladores
Para aplicaciones de Windows, puede personalizar las asignaciones de controlador de IIS, así como las aplicaciones y directorios virtuales. Las asignaciones de controlador permiten agregar procesadores de script personalizados para controlar solicitudes de extensiones de archivo específicas.
Para agregar un controlador personalizado:
En Azure Portal, busque y seleccione App Services y luego elija la aplicación.
En el menú izquierdo de la aplicación, seleccione Configuración de configuración>. A continuación, seleccione Asignaciones de rutas.
Seleccione Nueva asignación de controlador. Configure el controlador de la manera siguiente:
-
Extensión. Extensión de archivo que desea controlar, como
*.php
ohandler.fcgi
. -
Procesador de script. La ruta de acceso absoluta del procesador de script. El procesador de scripts procesa las solicitudes a los archivos que coinciden con la extensión de archivo. Utilice la ruta de acceso
D:\home\site\wwwroot
para hacer referencia al directorio raíz de la aplicación. - Argumentos. Argumentos opcionales de la línea de comandos para el procesador de script.
-
Extensión. Extensión de archivo que desea controlar, como
Seleccione Aceptar. A continuación, seleccione Guardar en la página Configuración .
Configurar contenedores personalizados
- Configuración de un contenedor de Linux personalizado para Azure App Service
- Montaje de Azure Storage como recurso compartido local en App Service
Contenido relacionado
- Variables de entorno y configuración de la aplicación en Azure App Service
- Configuración de un dominio personalizado existente en Azure App Service
- Configuración de entornos de ensayo en Azure App Service
- Habilitación de HTTPS para un dominio personalizado en Azure App Service
- Habilitar el registro de diagnósticos para las aplicaciones en Azure App Service
- Escalado de una aplicación en Azure App Service
- Cuotas y alertas de Azure App Service
- Cambiar la configuración applicationHost.config por applicationHost.xdt