Configurar uma aplicação do App Service
Este artigo explica como definir configurações comuns para aplicativos Web, um back-end móvel ou um aplicativo de API. Para o Azure Functions, consulte Referência de configurações do aplicativo para o Azure Functions.
Nota
A partir de 1º de junho de 2024, os aplicativos do Serviço de Aplicativo recém-criados poderão gerar um nome de host padrão exclusivo que use a convenção de nomenclatura <app-name>-<random-hash>.<region>.azurewebsites.net
. Por exemplo: myapp-ds27dh7271aah175.westus-01.azurewebsites.net
. Os nomes de aplicativos existentes permanecem inalterados.
Para obter mais informações, consulte a postagem do blog sobre como criar um aplicativo Web com um nome de host padrão exclusivo.
Configurar as definições da aplicação
No Serviço de Aplicativo do Azure, as configurações do aplicativo são variáveis passadas como variáveis de ambiente para o código do aplicativo. As seguintes condições aplicam-se às definições da aplicação:
- Os nomes das configurações do aplicativo podem conter apenas letras, números (0-9), pontos (.) e sublinhados (_).
- Caracteres especiais no valor de uma configuração de aplicativo devem ser escapados conforme necessário para o sistema operacional de destino.
Por exemplo, para definir uma variável de ambiente no Serviço de Aplicativo para Linux com o valor "pa$$w0rd\"
, a cadeia de caracteres para a configuração do aplicativo deve ser "pa\$\$w0rd\\"
.
Para aplicativos Linux e contêineres personalizados, o Serviço de Aplicativo passa as configurações do aplicativo para o contêiner usando o --env
sinalizador para definir a variável de ambiente no contêiner. Em ambos os casos, eles são injetados no ambiente do aplicativo na inicialização do aplicativo. Quando você adiciona, remove ou edita as configurações do aplicativo, o Serviço de Aplicativo aciona uma reinicialização do aplicativo.
Para desenvolvedores ASP.NET e ASP.NET Core, definir as configurações do aplicativo no Serviço de Aplicativo é como configurá-las em <appSettings>
Web.config
ou appsettings.json
. Os valores no Serviço de Aplicativo substituem os valores em Web.config
ou appsettings.json
. Você pode manter as configurações de desenvolvimento, como senha local do MySQL, em Web.config
ou appsettings.json
. Você pode manter segredos de produção, como a senha do banco de dados MySQL do Azure, com segurança no Serviço de Aplicativo. O mesmo código usa as tuas configurações de desenvolvimento quando fazes depuração localmente. Ele usa seus segredos de produção quando você o implanta no Azure.
Outros conjuntos de linguagens obtêm as definições da aplicação como variáveis de ambiente em tempo de execução. Para conhecer as etapas específicas de cada pilha de idiomas, consulte:
As configurações do aplicativo são sempre criptografadas quando são armazenadas (criptografadas em repouso).
Nota
Caso armazene segredos nas definições da aplicação, considere usar referências do Cofre de Chaves do Azure. Se os seus segredos forem a conectividade com recursos de back-end, considere opções de conectividade que sejam mais seguras e que não exijam segredos. Para obter mais informações, consulte Conectividade segura com serviços e bancos de dados do Azure do Serviço de Aplicativo do Azure.
No portal do Azure, procure e selecione Serviços de Aplicativo e, em seguida, selecione seu aplicativo.
No menu esquerdo do aplicativo, selecione Configurações>Variáveis de ambiente. Em seguida, selecione Configurações do aplicativo.
Por predefinição, os valores das definições de aplicação estão ocultos no portal por motivos de segurança. Para ver um valor oculto de uma configuração de aplicativo, em Valor, selecione Mostrar valor. Para ver os valores ocultos de todas as configurações do aplicativo, selecione Mostrar valores.
Para adicionar uma nova configuração de aplicativo, selecione Adicionar. Para editar uma configuração, selecione-a.
Na caixa de diálogo, você pode fixar a configuração no slot atual.
Nota
Em um serviço de aplicativo Linux padrão ou em um contêiner Linux personalizado, qualquer estrutura de chave JSON aninhada no nome da configuração do aplicativo precisa ser configurada de forma diferente para o nome da chave. Substitua os dois pontos (
:
) por um sublinhado duplo (__
). Substitua qualquer ponto (.
) por um único sublinhado (_
). Por exemplo,ApplicationInsights:InstrumentationKey
precisa ser configurado no Serviço de Aplicativo comoApplicationInsights__InstrumentationKey
para o nome da chave.Quando terminar, selecione Aplicar. Em seguida, selecione Aplicar na página Variáveis de ambiente .
Editar configurações do aplicativo em massa
- Selecione Edição avançada.
- Edite as configurações na área de texto.
- Quando terminar, selecione OK. Em seguida, selecione Aplicar na página Variáveis de ambiente .
As configurações do aplicativo têm a seguinte formatação JSON:
[
{
"name": "<key-1>",
"value": "<value-1>",
"slotSetting": false
},
{
"name": "<key-2>",
"value": "<value-2>",
"slotSetting": false
},
...
]
Configurar cadeias de ligação
Esta seção descreve como configurar cadeias de conexão.
Nota
Considere opções de conectividade que sejam mais seguras e que não exijam segredos de conexão. Para obter mais informações, consulte Conectividade segura com serviços e bancos de dados do Azure do Serviço de Aplicativo do Azure.
Para desenvolvedores ASP.NET e ASP.NET Core, definir cadeias de conexão no Serviço de Aplicativo é como defini-las em <connectionStrings>
Web.config
. Os valores definidos no Serviço de Aplicativo substituem os valores do Web.config
. Você pode manter as configurações de desenvolvimento, como um arquivo de banco de dados, em Web.config
. Você pode manter segredos de produção, como credenciais do banco de dados SQL, com segurança no Serviço de Aplicativo. O mesmo código usa suas configurações de desenvolvimento quando você depura localmente. Ele usa seus segredos de produção quando você o implanta no Azure.
Para outras pilhas de idiomas, é melhor usar as configurações da aplicação. As cadeias de conexão exigem formatação especial nas chaves das variáveis para aceder aos valores.
Há um caso em que você pode querer usar cadeias de conexão em vez de configurações de aplicativo para non-.NET idiomas. O backup de certos tipos de banco de dados do Azure é feito junto com o aplicativo somente se você configurar uma cadeia de conexão para o banco de dados em seu aplicativo do Serviço de Aplicativo. Para obter mais informações, consulte Criar um backup personalizado. Se você não precisar desse backup automatizado, use as configurações do aplicativo.
No tempo de execução, as cadeias de conexão estão disponíveis como variáveis de ambiente, prefixadas com os seguintes tipos de conexão:
- SQL Server:
SQLCONNSTR_
- MySQL:
MYSQLCONNSTR_
- Azure SQL:
SQLAZURECONNSTR_
- Personalizado:
CUSTOMCONNSTR_
- PostgreSQL:
POSTGRESQLCONNSTR_
- Hubs de Notificação do Azure:
NOTIFICATIONHUBCONNSTR_
- Barramento de Serviço do Azure:
SERVICEBUSCONNSTR_
- Hubs de Eventos do Azure:
EVENTHUBCONNSTR_
- Azure Cosmos DB:
DOCDBCONNSTR_
- Cache Redis:
REDISCACHECONNSTR_
Nota
Os aplicativos .NET destinados a PostgreSQL, Hubs de Notificação, Service Bus, Hubs de Eventos, Azure Cosmos DB e cache Redis devem definir a cadeia de conexão como Personalizada como uma solução alternativa para um problema conhecido no .NET EnvironmentVariablesConfigurationProvider.
Por exemplo, uma cadeia de conexão MySQL chamada connectionstring1 pode ser acessada como a variável MYSQLCONNSTR_connectionString1
de ambiente . Para conhecer as etapas específicas de cada pilha de idiomas, consulte:
As cadeias de conexão são sempre criptografadas quando são armazenadas (criptografadas em repouso).
Nota
Você também pode resolver cadeias de conexão do Cofre de Chaves usando referências do Cofre de Chaves.
No portal do Azure, procure e selecione Serviços de Aplicativo e, em seguida, selecione seu aplicativo.
No menu esquerdo do aplicativo, selecione Configurações>Variáveis de ambiente. Em seguida, selecione Cadeias de conexão.
Por padrão, os valores das cadeias de conexão ficam ocultos no portal por segurança. Para ver um valor oculto de uma cadeia de conexão, em Valor, selecione Mostrar valor. Para ver os valores ocultos de todas as cadeias de conexão, selecione Mostrar valores.
Para adicionar uma nova cadeia de conexão, selecione Adicionar. Para editar uma cadeia de conexão, selecione a cadeia de conexão.
Na caixa de diálogo, pode atribuir a cadeia de conexão ao slot atual.
Quando terminar, selecione Aplicar. Em seguida, selecione Aplicar na página Variáveis de ambiente .
Editar cadeias de conexão em massa
- Selecione Edição avançada.
- Edite as cadeias de conexão na área de texto.
- Quando terminar, selecione Aplicar. Não se esqueça também de selecionar Aplicar na página Variáveis de ambiente .
As cadeias de conexão têm a seguinte formatação JSON:
[
{
"name": "name-1",
"value": "conn-string-1",
"type": "SQLServer",
"slotSetting": false
},
{
"name": "name-2",
"value": "conn-string-2",
"type": "PostgreSQL",
"slotSetting": false
},
...
]
Configurar definições de language stack
Para definir as configurações da pilha de idiomas, consulte estes recursos:
Configurar definições gerais
Para definir as configurações gerais, siga as etapas para suas ferramentas preferidas.
No portal do Azure, procure e selecione Serviços de Aplicativo e, em seguida, selecione seu aplicativo.
No menu esquerdo do aplicativo, selecione Definições>Configuração. Em seguida, selecione Configurações gerais.
Aqui, você pode definir algumas configurações comuns para o aplicativo. Algumas configurações precisarão que se passe para níveis de preços mais altos.
Configurações da pilha: Configure as definições para a pilha de software executar a aplicação, incluindo as versões de linguagem e SDK.
Para aplicativos Linux, você pode selecionar a versão do language runtime e definir um comando de inicialização opcional.
Configurações da plataforma: defina as configurações para a plataforma de hospedagem, incluindo:
Plataforma: escolha 32 bits ou 64 bits. Apenas para aplicações do Windows.
Estado do FTP: Permita apenas o FTPS ou desative o FTP completamente.
Versão HTTP: defina como 2.0 para habilitar o suporte para o protocolo HTTPS/2 .
Nota
A maioria dos navegadores modernos suporta apenas o protocolo HTTP/2 sobre TLS. O tráfego não criptografado continua a usar HTTP/1.1. Para garantir que os navegadores cliente se conectem ao seu aplicativo com HTTP/2, proteja seu nome DNS personalizado. Para obter mais informações, consulte Fornecer segurança para um nome DNS personalizado com uma associação TLS/SSL no Serviço de Aplicativo.
Web sockets: Configurar para ASP.NET SignalR ou socket.io, por exemplo.
Sempre ativado: ative se quiser manter o aplicativo carregado mesmo quando não houver tráfego.
Quando o Always On está desativado (padrão), o aplicativo é descarregado após 20 minutos sem solicitações de entrada. A aplicação descarregada pode causar latência alta para novas solicitações devido ao seu tempo de inicialização.
Quando o Always On está ativado, o balanceador de carga front-end envia uma
GET
solicitação para a raiz do aplicativo a cada cinco minutos. O ping contínuo impede que o aplicativo seja descarregado."Always On é necessário para WebJobs contínuos ou WebJobs acionados por uma expressão cron."
Afinidade de sessão: em uma implantação de várias instâncias, certifique-se de que o cliente seja roteado para a mesma instância durante a vida da sessão. Você pode definir esta opção como Desativado para aplicações sem estado.
Proxy de afinidade de sessão: ative se a sua aplicação estiver atrás de um proxy reverso (como o Azure Application Gateway ou o Azure Front Door) e estiver a usar o nome de host padrão. O domínio do cookie de afinidade de sessão alinha-se com o nome de host encaminhado do proxy reverso.
Somente HTTPS: habilite se quiser redirecionar todo o tráfego HTTP para HTTPS.
Versão mínima de TLS: selecione a versão mínima de criptografia TLS exigida pelo seu aplicativo.
Depuração: habilite a depuração remota para aplicativos ASP.NET, ASP.NET Core ou Node.js . Esta opção desliga-se automaticamente após 48 horas.
Certificados de cliente de entrada: exigem certificados de cliente em autenticação mútua.
Configurar documentos padrão
O documento padrão é a página da Web que aparece na URL raiz de um aplicativo do Serviço de Aplicativo. O primeiro arquivo correspondente na lista é usado. Se o aplicativo usa módulos que roteiam com base na URL em vez de fornecer conteúdo estático, não há necessidade de documentos padrão.
A configuração para configurar documentos padrão é apenas para aplicativos do Windows.
- No portal do Azure, procure e selecione Serviços de Aplicativo e, em seguida, selecione seu aplicativo.
- No menu esquerdo do aplicativo, selecione Configuração. Em seguida, selecione Documentos padrão.
- Para adicionar um documento padrão, selecione Novo documento. Para remover um documento padrão, selecione Excluir à direita.
Mapear um caminho de URL para um diretório
Por padrão, o Serviço de Aplicativo inicia seu aplicativo a partir do diretório raiz do código do aplicativo. Mas certas estruturas da Web não começam no diretório raiz. Por exemplo, o Laravel é iniciado no subdiretório public
. Esse aplicativo seria acessível em http://contoso.com/public
, por exemplo, mas você normalmente deseja direcionar http://contoso.com
para o public
diretório. Se o arquivo de inicialização do aplicativo estiver em uma pasta diferente ou se o repositório tiver mais de um aplicativo, você poderá editar ou adicionar aplicativos e diretórios virtuais.
O recurso de mapeamento de um diretório virtual para um caminho físico está disponível apenas em aplicativos do Windows.
No portal do Azure, procure e selecione Serviços de Aplicativo e, em seguida, selecione seu aplicativo.
No menu esquerdo do aplicativo, selecione Definições>Configuração. Em seguida, selecione Mapeamentos de caminho.
Selecione Novo aplicativo ou diretório virtual. Em seguida, execute uma destas ações:
- Para mapear um diretório virtual para um caminho físico, deixe Diretório selecionado. Especifique o diretório virtual e o caminho relativo (físico) correspondente para a raiz do site (
D:\home
). - Para marcar um diretório virtual como um aplicativo Web, desmarque Diretório.
- Para mapear um diretório virtual para um caminho físico, deixe Diretório selecionado. Especifique o diretório virtual e o caminho relativo (físico) correspondente para a raiz do site (
Selecione OK. Em seguida, selecione Salvar na página Configuração .
Configurar mapeamentos do manipulador
Para aplicativos do Windows, você pode personalizar os mapeamentos do manipulador do IIS e os aplicativos e diretórios virtuais. Os mapeamentos do manipulador permitem adicionar processadores de script personalizados para lidar com solicitações de extensões de arquivo específicas.
Para adicionar um manipulador personalizado:
No portal do Azure, procure e selecione Serviços de Aplicativo e, em seguida, selecione seu aplicativo.
No menu esquerdo do aplicativo, selecione Definições>Configuração. Em seguida, selecione Mapeamentos de caminho.
Selecione Novo mapeamento do manipulador. Configure o manipulador da seguinte maneira:
-
Extensão. A extensão de arquivo que você deseja manipular, como
*.php
ouhandler.fcgi
. -
Processador de scripts. O caminho absoluto do processador de script para você. O processador de script processa solicitações para arquivos que correspondem à extensão do arquivo. Use o caminho
D:\home\site\wwwroot
para fazer referência ao diretório raiz do seu aplicativo. - Argumentos. Argumentos de linha de comando opcionais para o processador de script.
-
Extensão. A extensão de arquivo que você deseja manipular, como
Selecione OK. Em seguida, selecione Salvar na página Configuração .
Configurar contêineres personalizados
- Configurar um contentor personalizado para o Serviço de Aplicações do Azure
- Monte o Armazenamento do Azure como um compartilhamento local no Serviço de Aplicativo
Conteúdo relacionado
- Variáveis de ambiente e configurações de aplicativo no Serviço de Aplicativo do Azure
- Configurar um domínio personalizado existente no Serviço de Aplicativo do Azure
- Configurar ambientes de teste no Serviço de Aplicações do Azure
- Habilitar HTTPS para um domínio personalizado no Serviço de Aplicativo do Azure
- Habilitar o log de diagnóstico para aplicativos no Serviço de Aplicativo do Azure
- Dimensionar um aplicativo no Serviço de Aplicativo do Azure
- Cotas e alertas do Serviço de Aplicativo do Azure
- Altere as configurações de applicationHost.config com applicationHost.xdt