Configurar um aplicativo 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

As configurações do aplicativo também podem ser resolvidas no Cofre da Chave usando referências do Cofre da Chave.

  1. No portal do Azure, procure e selecione Serviços de Aplicativo e, em seguida, selecione seu aplicativo.

    Search for App Services

  2. No menu esquerdo do aplicativo, selecione Configurações>do aplicativo.

    Application Settings

    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 .

  3. Para adicionar uma nova configuração de aplicativo, selecione Nova configuração de aplicativo. Para editar uma configuração, selecione o botão Editar no lado direito.

  4. 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 como ApplicationInsights__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).

  5. Quando terminar, selecione Atualizar. Não se esqueça de selecionar Salvar novamente na página Configuração.

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 Atualizar. Não se esqueça de selecionar Salvar novamente na página Configuração.

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

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>do aplicativo.

Application Settings

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_

Nota

Os aplicativos .NET destinados ao PostgreSQL devem definir a cadeia de conexão como Personalizado 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_connectionString1de 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.

  1. No portal do Azure, procure e selecione Serviços de Aplicativo e, em seguida, selecione seu aplicativo.

    Search for App Services

  2. No menu esquerdo do aplicativo, selecione Configurações>do aplicativo.

    Application Settings

    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 .

  3. Para adicionar uma nova cadeia de conexão, selecione Nova cadeia de conexão. Para editar uma cadeia de conexão, selecione o botão Editar no lado direito.

  4. Na caixa de diálogo, você pode colar a cadeia de conexão ao slot atual.

  5. Quando terminar, selecione Atualizar. Não se esqueça de selecionar Salvar novamente na página Configuração.

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 Atualizar. Não se esqueça de selecionar Salvar novamente na página Configuração.

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.

General settings

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.

    General settings for Linux containers

  • 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. 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 ARR: 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.

    • 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.

  1. No portal do Azure, procure e selecione Serviços de Aplicativo e, em seguida, selecione seu aplicativo.

  2. No menu esquerdo do aplicativo, selecione Documentos padrão de configuração>.

    Default documents

  3. 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.

  1. No portal do Azure, procure e selecione Serviços de Aplicativo e, em seguida, selecione seu aplicativo.

  2. No menu esquerdo do aplicativo, selecione Mapeamentos de caminho de configuração>

  3. 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 .

    Directory check box

  4. Selecione OK.

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:

  1. No portal do Azure, procure e selecione Serviços de Aplicativo e, em seguida, selecione seu aplicativo.

  2. No menu esquerdo do aplicativo, selecione Mapeamentos de caminho de configuração>.

    Path mappings

  3. 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.
  4. Selecione OK.

Configurar contêineres personalizados

Próximos passos