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

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

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

Nota

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

Obter credenciais de implantação

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

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

    Âmbito de aplicação Âmbito do utilizador
    <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 de escopo do usuário não estão vinculadas a um recurso específico, você precisa anexar 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 seu aplicativo em que você copiou as credenciais de implantação (Credenciais FTP do Centro>de Implantação), copie o ponto de extremidade FTPS.

Implantar arquivos no Azure

  1. No seu cliente FTP (por exemplo, Visual Studio, Cyberduck ou WinSCP), use as informações de conexão coletadas para se conectar ao seu aplicativo.
  2. Copie seus arquivos e sua respetiva estrutura de diretórios para o diretório /site/wwwroot no Azure (ou para o diretório /site/wwwroot/App_Data/Jobs/ para WebJobs).
  3. Navegue até o URL do seu aplicativo para verificar se o aplicativo está sendo executado corretamente.

Nota

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

  • restaurações de dependência (como automações NuGet, NPM, PIP e Composer)
  • compilação de binários .NET
  • geração de web.config (aqui está um exemplo Node.js)

Gere esses arquivos necessários manualmente em sua máquina local e implante-os junto com seu aplicativo.

Impor FTPS

Para maior segurança, você deve permitir FTP somente sobre TLS/SSL. Você também pode desativar o FTP e o FTPS se não usar a implantação do FTP.

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

  2. Para desativar o FTP não criptografado, selecione Somente FTPS no estado FTP. Para desativar totalmente o FTP e o FTPS, selecione Desativado. Depois de terminar, selecione Guardar. Se estiver usando Somente FTPS, você deverá impor o TLS 1.2 ou superior navegando até a página de configurações de TLS/SSL do seu aplicativo Web. TLS 1.0 e 1.1 não são suportados apenas com FTPS.

    Disable FTP/S

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

Todos os métodos de implementação suportados oficialmente efetuam alterações aos ficheiros na pasta /home/site/wwwroot da aplicação. Estes ficheiros são utilizados para executar a aplicação. Assim, a implementação pode falhar devido a ficheiros bloqueados. A aplicação também pode comportar-se de forma imprevisível durante a implementação, porque os ficheiros não são todos atualizados ao mesmo tempo. Este comportamento é indesejável para uma aplicação destinada ao cliente. Existem várias formas de evitar estes problemas:

Solucionar problemas de implantação de FTP

Como posso solucionar 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 tempo de execução.

Um problema de implantação geralmente resulta em nenhum arquivo ou arquivo errado implantado em seu aplicativo. Você pode solucionar problemas investigando sua implantação de FTP ou selecionando um caminho de implantação alternativo (como controle do código-fonte).

Um problema de aplicativo de tempo de execução normalmente resulta no conjunto correto de arquivos implantados em seu aplicativo, mas no comportamento incorreto do aplicativo. Você pode solucionar problemas concentrando-se no comportamento do código em tempo de execução e investigando caminhos de falha específicos.

Para determinar um problema de implantação ou tempo de execução, consulte Problemas de implantação versus tempo de execução.

I'm not able to FTP and publish my code. Como posso resolver o problema?

Verifique se você inseriu o nome de host e as credenciais corretas. Verifique também se as seguintes portas FTP na sua máquina 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 posso me conectar ao FTP no Serviço de Aplicativo do Azure por meio do modo passivo?

O Serviço de Aplicativo do Azure dá suporte à conexão por meio dos modos Ativo e Passivo. O modo passivo é preferido porque suas máquinas de implantação geralmente estão atrás de um firewall (no sistema operacional ou como parte de uma rede doméstica ou empresarial). Veja um exemplo da documentação do WinSCP.

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

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

  • Se você se conectar com criptografia implícita, a conexão é estabelecida através da porta 990.
  • Se você se conectar com criptografia explícita, a conexão será estabelecida através da porta 21.

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

  • Se o URL com o 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 está implícita para ser implícita e na porta 990.

Certifique-se de não misturar ambos, como tentar se conectar e ftps:// usar a porta 21, pois ela não conseguirá se conectar, mesmo se você desejar fazer criptografia explícita. Isso ocorre devido a uma conexão explícita que começa como uma conexão FTP simples antes do método AUTH.

Como 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 uma URL de pacote externo, você verá a WEBSITE_RUN_FROM_PACKAGE configuração nas configurações do aplicativo com um valor de URL. Ou, se ele foi implantado usando zip deploy, você verá a WEBSITE_RUN_FROM_PACKAGE configuração com um valor de 1. Se o aplicativo foi implantado usando o Azure DevOps, você verá o histórico de implantação no portal do Azure DevOps. Se as Ferramentas Principais do Azure Functions forem usadas, você verá o histórico de implantação no portal do Azure.

Mais recursos