Implantar seu aplicativo no Serviço de Aplicativo do Azure usando FTP/S

Este artigo mostra como usar o FTP ou FTPS para implantar seu aplicativo web, back-end do aplicativo móvel ou aplicativo de API o serviço de aplicativo do Azure.

O ponto de extremidade FTP/S para seu aplicativo já está ativo. Nenhuma configuração é necessária para habilitar a implantação de FTP/S.

Observação

Quando autenticação básica FTP é desabilitada, a implantação de FTP/S não funciona e você não pode exibir ou configurar credenciais FTP no Centro de Implantação do aplicativo.

Obter credenciais de implantação

  1. Siga as instruções descritas em Configurar credenciais de implantação para o Serviço de Aplicativo do Azure para copiar as credenciais no escopo do aplicativo ou definir as credenciais no escopo do usuário. Você pode se conectar ao ponto de extremidade FTP/S do seu aplicativo usando uma das credenciais.

  2. Crie o nome de usuário FTP no seguinte formato, dependendo da sua escolha de escopo de credencial:

    Escopo do aplicativo Escopo do usuário
    <app-name>\$<app-name> <app-name>\<deployment-user>

    No Serviço de Aplicativo, o ponto de extremidade FTP/S é compartilhado entre aplicativos. Como as credenciais no escopo do usuário não estão vinculadas a um recurso específico, você precisará prefixar o nome de usuário do escopo do usuário com o nome do aplicativo, conforme mostrado acima.

Obter ponto de extremidade FTP/S

Na mesma página de gerenciamento do aplicativo em que você copiou as credenciais de implantação (Central de Implantação>Credenciais de FTP), copie o ponto de extremidade FTPS.

Implantar arquivos no Azure

  1. Do seu cliente de FTP (por exemplo, Visual Studio, Cyberduck ou WinSCP), use as informações de conexão que você reuniu para se conectar ao seu aplicativo.
  2. Copie seus arquivos e a respectiva estrutura de diretórios para o diretório /site/wwwroot no Azure (ou o diretório /site/wwwroot/App_Data/Jobs/ para Trabalhos Web).
  3. Navegue até a URL do aplicativo para verificar se ele está sendo executado corretamente.

Observação

Ao contrário das implantações baseadas em Git e da implantação de Zip, a implantação de FTP não dá suporte à automação de build, como:

  • restauração de dependência (como automações NuGet, NPM, PIP e de criador)
  • compilação de binários do .NET
  • geração de Web. config (eis uma Node. js exemplo)

Gere esses arquivos necessários manualmente no computador local e implante-os junto com seu aplicativo.

Impor o FTPS

Para maior segurança, você só deve permitir o FTP por TLS/SSL. Você também pode desabilitar FTP e FTPS se não usa a implantação de FTP.

  1. Na página de recurso do seu aplicativo no portal do Azure, selecione Configuração>Configurações gerais no painel de navegação à esquerda.

  2. Para desabilitar o FTP não criptografado, selecione Somente FTPS em Estado do FTP. Para desabilitar completamente o FTP e o FTPS, selecione Desabilitado. Quando terminar, selecione Avançar. Se estiver usando a opção Somente FTPS, imponha o TLS 1.2 ou superior navegando até a página Configurações de TLS/SSL do aplicativo Web. Não há suporte para TLS 1.0 e 1.1 com FTPS Apenas.

    Disable FTP/S

O que acontece com meu aplicativo durante a implantação?

Todos os métodos de implantação oficialmente suportados fazem alterações nos arquivos da pasta /home/site/wwwroot do seu aplicativo. Esses arquivos são usados para executar o aplicativo. Portanto, a implantação pode falhar por causa de arquivos bloqueados. O aplicativo também pode se comportar de modo imprevisível durante a implantação, porque nem todos os arquivos são atualizados ao mesmo tempo. Esse comportamento não é desejável para um aplicativo voltado ao cliente. Há algumas maneiras de evitar esses problemas:

Solucionar problemas de implantação de FTP

Como soluciono problemas de implantação de FTP?

A primeira etapa para solucionar problemas de implantação de FTP é isolar um problema de implantação de um problema de aplicativo de runtime.

Um problema de implantação normalmente resulta em nenhum arquivo ou arquivos incorretos implantados em seu aplicativo. Você pode resolver isso investigando a implantação de FTP ou selecionando um caminho de implantação alternativo (por exemplo, controle do código-fonte).

Um problema de aplicativo de runtime normalmente resulta no conjunto de arquivos correto implantado no seu aplicativo, mas em comportamento incorreto do aplicativo. Você pode resolver isso concentrando-se no comportamento do código no runtime e investigando os caminhos de falha específicos.

Para determinar um problema de implantação ou de runtime, consulte Problemas de implantação versus problemas de runtime.

Não consigo usar FTP e publicar meu código. Como resolvo esse problema?

Verifique se você inseriu o nome do host e as credenciais corretas. Verifique também se as seguintes portas de FTP no seu computador não estão bloqueadas por um firewall:

  • Porta de conexão de controle FTP: 21, 990
  • Porta de conexão de dados FTP: 989, 10001-10300

Como faço para me conectar ao FTP no Serviço de Aplicativo do Azure por meio do modo passivo?

O Serviço de Aplicativo do Azure é compatível com a conexão por modo Ativo e Passivo. O modo Passivo é preferencial porque seus computadores de implantação geralmente estão atrás de um firewall (no sistema operacional ou como parte de uma rede residencial ou comercial). Veja um exemplo na documentação do WinSCP.

Por que minha conexão está falhando ao tentar se conectar via FTPS usando criptografia explícita?

O FTPS permite estabelecer a conexão segura do TLS de maneira explícita ou implícita.

  • Se você se conectar à criptografia implícita, a conexão será estabelecida por meio da porta 990.
  • Se você se conectar à criptografia explícita, a conexão será estabelecida por meio da porta 21.

O formato de URL usado pode afetar o êxito da conexão e também depende do aplicativo cliente que você usa. O portal mostra a URL como ftps://, mas observe:

  • Se a URL com a qual você se conecta começar com ftp://, a conexão estará implícita na porta 21.
  • Se começar com ftps://, a conexão será considerada implícita e na porta 990.

Certifique-se de não misturar ambos, como tentar se conectar a ftps:// e usar a porta 21, pois ela falhará em se conectar, mesmo se você quiser fazer criptografia explícita. Isso se deve ao fato de que as conexões explícitas começam como conexões FTP simples antes do método AUTH.

Como eu posso determinar o método que foi usado para implantar meu Serviço de Aplicativo do Azure?

Você pode descobrir como um aplicativo foi implantado verificando as configurações do aplicativo. Se o aplicativo foi implantado usando um URL de pacote externo, você deve ver a configuração WEBSITE_RUN_FROM_PACKAGE nas configurações do aplicativo com um valor de URL. Ou se ele foi implantado usando a implantação em formato zip, você deve ver a configuração WEBSITE_RUN_FROM_PACKAGE com um valor de 1. Se o aplicativo foi implantado usando o Azure DevOps, você deve ver o histórico de implantação no portal do Azure DevOps. Se o Azure Functions Core Tools for usado, você deve ver o histórico de implantação no portal do Azure.

Mais recursos