Configurar um aplicativo do Serviço de Aplicativo
Nota
A partir de 1º de junho de 2024, todos os aplicativos do Serviço de Aplicativo recém-criados terão a opção de gerar um nome de host padrão exclusivo usando a convenção <app-name>-<random-hash>.<region>.azurewebsites.net
de nomenclatura. Os nomes de aplicativos existentes permanecerão inalterados.
Exemplo: myapp-ds27dh7271aah175.westus-01.azurewebsites.net
Para obter mais detalhes, consulte Nome de host padrão exclusivo para recurso do Serviço de Aplicativo.
Este artigo explica como definir configurações comuns para aplicativos Web, back-end móvel ou aplicativo de API. Para o Azure Functions, consulte Referência de configurações do aplicativo para o Azure Functions.
Configurar as definições da aplicação
Nota
- Os nomes das configurações do aplicativo só podem conter letras, números (0-9), pontos (".") e sublinhados ("_")
- Caracteres especiais no valor de uma Configuração de Aplicativo devem ser escapados conforme necessário pelo SO de destino
Por exemplo, para definir uma variável de ambiente no Serviço de Aplicativo Linux com o valor "pa$$w0rd\"
, a cadeia de caracteres para a configuração do aplicativo deve ser: "pa\$\$w0rd\\"
No Serviço de Aplicativo, as configurações do aplicativo são variáveis passadas como variáveis de ambiente para o código do aplicativo. 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 configurações de aplicativo no Serviço de Aplicativo é como defini-las em <appSettings>
Web.config ou appsettings.json, mas os valores no Serviço de Aplicativo substituem os de Web.config ou appsettings.json. Você pode manter as configurações de desenvolvimento (por exemplo, senha local do MySQL) em Web.config ou appsettings.json e segredos de produção (por exemplo, senha do banco de dados MySQL do Azure) com segurança no Serviço de Aplicativo. O mesmo código usa suas configurações de desenvolvimento quando você depura localmente e usa seus segredos de produção quando implantado no Azure.
Outras pilhas de idiomas, da mesma forma, obtêm as configurações do aplicativo como variáveis de ambiente em tempo de execução. Para obter as etapas específicas da pilha de idiomas, consulte:
As configurações do aplicativo são sempre criptografadas quando armazenadas (criptografadas em repouso).
Nota
Se você armazenar segredos nas configurações do aplicativo, considere usar referências do Cofre da Chave. Se os seus segredos forem a conectividade com recursos de back-end, considere opções de conectividade mais seguras 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 Variáveis>de ambiente 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, selecione seu campo Valor . Para ver os valores ocultos de todas as configurações do aplicativo, selecione o botão Mostrar valores .
Para adicionar uma nova configuração de aplicativo, selecione Adicionar. Para editar uma configuração, clique nela.
Na caixa de diálogo, você pode manter 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
ApplicationInsights:InstrumentationKey
ser configurada no Serviço de Aplicativo comoApplicationInsights__InstrumentationKey
para o nome da chave. Em outras palavras, qualquer um:
deve ser substituído por__
(sublinhado duplo). Todos os períodos no nome da configuração do aplicativo serão substituídos por um_
(sublinhado único).Quando terminar, selecione Aplicar. Não se esqueça de selecionar Aplicar novamente na página Variáveis de ambiente.
Editar configurações do aplicativo em massa
Selecione o botão Edição avançada. Edite as configurações na área de texto. Quando terminar, selecione OK. Não se esqueça de selecionar Aplicar novamente 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
Nota
Considere opções de conectividade mais seguras 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, mas os valores definidos no Serviço de Aplicativo substituem os de Web.config. Você pode manter as configurações de desenvolvimento (por exemplo, um arquivo de banco de dados) em Web.config e segredos de produção (por exemplo, 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 e usa seus segredos de produção quando implantado no Azure.
Para outras pilhas de idiomas, é melhor usar as configurações do aplicativo, porque as cadeias de conexão exigem formatação especial nas teclas variáveis para acessar os valores.
Nota
Há um caso em que você pode querer usar cadeias de conexão em vez de configurações de aplicativo para idiomas non-.NET: 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:
- SQLServer:
SQLCONNSTR_
- MySQL:
MYSQLCONNSTR_
- SQLAzure:
SQLAZURECONNSTR_
- Personalizado:
CUSTOMCONNSTR_
- PostgreSQL:
POSTGRESQLCONNSTR_
- Hub de Notificação:
NOTIFICATIONHUBCONNSTR_
- Barramento de serviço:
SERVICEBUSCONNSTR_
- Hub de Eventos:
EVENTHUBCONNSTR_
- Banco de Dados de Documentos:
DOCDBCONNSTR_
- Cache Redis:
REDISCACHECONNSTR_
Nota
Os aplicativos .NET destinados a PostgreSQL, Hub de Notificação, Service Bus, Hub de Eventos, Banco de Dados de Documentos e Cache Redis devem definir a cadeia de conexão como Personalizada como 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 obter as etapas específicas da pilha de idiomas, consulte:
As cadeias de conexão são sempre criptografadas quando armazenadas (criptografadas em repouso).
Nota
As cadeias de conexão também podem ser resolvidas a partir do Cofre da Chave usando referências do Cofre da Chave.
No portal do Azure, procure e selecione Serviços de Aplicativo e, em seguida, selecione seu aplicativo.
No menu esquerdo do aplicativo, selecione Variáveis>de ambiente 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, selecione seu campo Valor . Para ver os valores ocultos de todas as cadeias de conexão, selecione o botão Mostrar valor .
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, você pode colar a cadeia de conexão ao slot atual.
Quando terminar, selecione Aplicar. Não se esqueça de selecionar Aplicar novamente na página Variáveis de ambiente.
Editar cadeias de conexão em massa
Selecione o botão Edição avançada. Edite as cadeias de conexão na área de texto. Quando terminar, selecione Aplicar. Não se esqueça de selecionar Aplicar novamente 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
},
...
]
Definir configurações de pilha de idiomas
Configurar definições gerais
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>gerais.
Aqui, você pode definir algumas configurações comuns para o aplicativo. Algumas configurações exigem que você escale para níveis de preços mais altos.
Configurações de pilha: A pilha de software para executar o aplicativo, incluindo as versões de idioma e SDK.
Para aplicativos Linux, você pode selecionar a versão do language runtime e definir um comando de inicialização opcional ou um arquivo de comando de inicialização.
Configurações da plataforma: Permite definir configurações para a plataforma de hospedagem, incluindo:
- Bitness da plataforma: 32 bits ou 64 bits. Apenas para aplicações do Windows.
- Estado do FTP: Permita apenas 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, enquanto 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 Proteger um nome DNS personalizado com uma associação TLS/SSL no Serviço de Aplicativo do Azure.
Web sockets: Para ASP.NET SignalR ou socket.io, por exemplo.
Sempre ligado: mantém o aplicativo carregado mesmo quando não há tráfego. Quando o Always On não está ativado (padrão), o aplicativo é descarregado após 20 minutos sem nenhuma solicitação de entrada. O aplicativo descarregado pode causar alta latência para novas solicitações devido ao seu tempo de aquecimento. Quando o Always On está ativado, o balanceador de carga front-end envia uma solicitação GET para a raiz do aplicativo a cada cinco minutos. É importante garantir que essa solicitação receba uma resposta de 200 OK para garantir que todas as operações de recriação de imagens sejam executadas corretamente. O ping contínuo impede que o aplicativo seja descarregado.
Always On é necessário para WebJobs contínuos ou para WebJobs que são acionados usando 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 essa opção como Desativado para aplicativos sem monitoração de estado.
Proxy de afinidade de sessão: o proxy de afinidade de sessão pode ser ativado se seu aplicativo estiver atrás de um proxy reverso (como o Azure Application Gateway ou o Azure Front Door) e você estiver usando o nome de host padrão. O domínio do cookie de afinidade de sessão será alinhado com o nome de host encaminhado do proxy reverso.
Somente HTTPS: Quando habilitado, todo o tráfego HTTP é redirecionado para HTTPS.
Versão mínima do 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
Esta definição destina-se apenas a aplicações do Windows.
O documento padrão é a página da Web exibida 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.
No portal do Azure, procure e selecione Serviços de Aplicativo e, em seguida, selecione seu aplicativo.
No menu esquerdo do aplicativo, selecione Documentos padrão de configuraçã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.
Importante
O diretório virtual para um recurso de caminho físico só está disponível 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 Mapeamentos de caminho de configuração>
Selecione Novo aplicativo ou diretório virtual.
- Para mapear um diretório virtual para um caminho físico, deixe a caixa de seleção Diretório marcada. 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 a caixa de seleção Diretório .
- Para mapear um diretório virtual para um caminho físico, deixe a caixa de seleção Diretório marcada. Especifique o diretório virtual e o caminho relativo (físico) correspondente para a raiz do site (
Selecione OK. Não se esqueça de selecionar Salvar na página Configuração .
Configurar mapeamentos de 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 Mapeamentos de caminho de configuração>.
Selecione Novo mapeamento do manipulador. Configure o manipulador da seguinte maneira:
- Extensão. A extensão de arquivo que você deseja manipular, como *.php ou handler.fcgi.
- Processador de scripts. O caminho absoluto do processador de script para você. As solicitações para arquivos que correspondem à extensão do arquivo são processadas pelo processador de script. 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.
Selecione OK. Não se esqueça de selecionar Salvar na página Configuração .
Configurar contêineres personalizados
- Configurar um contentor personalizado para o Serviço de Aplicações do Azure
- Adicionar armazenamento personalizado para seu aplicativo em contêineres
Próximos passos
- Referência de variáveis de ambiente e configurações de aplicativo
- Configurar um nome de domínio personalizado no Serviço de Aplicações do Azure
- Configurar ambientes de teste no Serviço de Aplicações do Azure
- Proteger um nome DNS personalizado com uma associação TLS/SSL no Serviço de Aplicativo do Azure
- Ativar registos de diagnóstico
- Dimensionar um aplicativo no Serviço de Aplicativo do Azure
- Noções básicas de monitoramento no Serviço de Aplicativo do Azure
- Altere as configurações de applicationHost.config com applicationHost.xdt