Partilhar via


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

Este artigo mostra como usar o Protocolo de Transferência de Arquivos (FTP) ou o Protocolo de Transferência de Arquivos Seguro (FTPS) para implantar seu aplicativo Web, back-end de aplicativo móvel ou aplicativo de API no Serviço de Aplicativo do Azure. Nenhuma configuração é necessária para habilitar a implantação do aplicativo FTP ou FTPS. O ponto de extremidade FTP/S da sua aplicação já está ativo.

Observação

As Credenciais de Publicação de Autenticação Básica do SCM e as Credenciais de Publicação de Autenticação Básica de FTP devem estar habilitadas para que a implantação de FTP/S funcione. Quando a autenticação básica está desativada, a implantação de FTP/S não funciona e você não pode exibir ou configurar credenciais de FTP/S no Centro de Implantação do aplicativo.

Obter credenciais de implantação

Para obter credenciais para implantação, siga as instruções em Configurar credenciais de implantação para o Serviço de Aplicativo do Azure. Copie as credenciais de escopo do aplicativo para seu aplicativo ou defina e copie as credenciais de escopo do usuário. Você pode se conectar ao ponto de extremidade FTP/S do seu aplicativo usando qualquer conjunto de credenciais.

Para credenciais de escopo de aplicativo, o formato de nome de usuário FTP/S é <app-name>\$<app-name>. Para credenciais de escopo de usuário, o formato de nome de usuário FTP/S é <app-name>\<username>. Os endpoints FTP/S do Serviço de Aplicativo são partilhados entre aplicações e, como as credenciais de âmbito do utilizador não estão vinculadas a um recurso específico, deve antepor o nome do aplicativo ao nome de utilizador.

Obter o ponto de extremidade FTP/S

Para obter o ponto de extremidade FTP/S:

Na página do portal do Azure para seu aplicativo, selecione Centro de Implantação em Implantação no menu de navegação esquerdo. Na guia Credenciais FTPS, copie a URL do FTPS Endpoint.

Implantar arquivos no Azure

Para implantar arquivos no Azure com FTP/S:

  1. A partir do seu cliente FTP/S, como Visual Studio, Cyberduck ou WinSCP, use suas informações de conexão para se conectar ao seu aplicativo.
  2. Copie seus arquivos e sua 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.

Observação

Ao contrário da implantação local do Git e da implantação ZIP, a implantação de FTP/S não suporta automação de compilação, como:

  • Restaurar dependências como NuGet, NPM, PIP e Composer Automation.
  • Compilando binários .NET.
  • Gerando um arquivo web.config .

Você deve gerar esses arquivos necessários manualmente em sua máquina local e, em seguida, implantá-los com seu aplicativo. Para obter um Node.js web.config exemplo, consulte Usando um web.config personalizado para aplicativos Node.

Forçar FTPS

FTPS é uma forma mais segura de FTP que usa Transport Layer Security (TLS) e Secure Sockets Layer (SSL). Para maior segurança, você deve impor FTPS sobre TLS/SSL. Você também pode desativar o FTP e o FTPS se não usar a implantação do FTP.

Para desativar o FTP não criptografado:

  1. Na página do portal do Azure para seu aplicativo, selecione Configuração em Definições no menu de navegação esquerdo.

  2. Na guia Configurações gerais da página Configuração , em Configurações da plataforma, selecione FTPS somente para o estado FTP. Ou para desativar totalmente o FTP e o FTPS, selecione Desativado.

    Captura de ecrã que mostra a definição do estado FTP apenas para FTPS.

  3. Se você selecionar somente FTPS, certifique-se de que o TLS 1.2 ou superior seja aplicado para Configurações Mínimas de TLS de Entrada. TLS 1.0 e 1.1 não são suportados apenas para FTPS.

  4. Selecione Guardar no topo da página.

Solucionar problemas de implantação de FTP/S

O que acontece com meu aplicativo durante a implantação que pode causar falha ou comportamento imprevisível?

Os métodos de implantação oficialmente suportados fazem alterações nos arquivos na pasta /home/site/wwwroot que são usados para executar seu aplicativo. A implantação pode falhar devido a arquivos bloqueados. O aplicativo também pode se comportar de forma imprevisível durante a implantação se os arquivos não forem todos atualizados ao mesmo tempo, o que é indesejável para um aplicativo voltado para o cliente.

Existem algumas maneiras de evitar esses problemas.

Qual é a primeira etapa na solução de problemas de implantação de FTP/S?

A primeira etapa para solucionar problemas de implantação de FTP/S é distinguir entre problemas de implantação e problemas de aplicativos de tempo de execução.

  • Um problema de implementação geralmente resulta na ausência de ficheiros ou ficheiros errados implantados na sua aplicação. Você pode solucionar problemas investigando sua implantação de FTP/S 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 nos arquivos corretos 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 obter mais informações, consulte Problemas de implantação versus tempo de execução.

Por que não consigo FTP/S e publicar meu código?

Verifique se você inseriu o nome de host e as credenciais corretas. Certifique-se também de que um firewall não está bloqueando as seguintes portas FTP/S em sua máquina:

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

Como posso me conectar ao FTP/S 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 as 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. Para obter um exemplo de uma conexão de modo passivo, consulte A página de conexão (caixa de diálogo Configurações avançadas do site).

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

O FTPS permite estabelecer uma conexão segura TLS explícita ou implícita.

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

O formato de URL usado pode afetar o sucesso da conexão e depende do aplicativo cliente. O portal mostra o URL como ftps://, mas se o URL com o qual você se conecta começar com ftp://, a conexão está implícita para estar na porta 21. Se o URL começar com ftps://, a conexão está implícita e entende-se que está na porta 990.

Certifique-se de não misturar as configurações, como tentar se conectar a ftps:// usando a porta 21. Essa configuração não consegue se conectar mesmo usando criptografia explícita, porque uma conexão explícita começa como uma conexão FTP simples antes do AUTH método.

Como posso determinar qual método foi usado para implantar meu aplicativo?

Você pode descobrir como um aplicativo foi implantado verificando as configurações do aplicativo em sua página do portal do Azure. Selecione Variáveis ambientais em Configurações no menu de navegação à esquerda. No separador Definições da aplicação :

  • Se a aplicação foi implantada usando um URL de pacote externo, a definição WEBSITE_RUN_FROM_PACKAGE aparece nas definições da aplicação com um valor de URL.
  • Se o aplicativo foi implantado usando a implantação ZIP, a WEBSITE_RUN_FROM_PACKAGE configuração aparece com um valor de 1.

Se você implantou o aplicativo usando o Azure DevOps, poderá ver o histórico de implantação no portal do Azure DevOps. Se você usou as Ferramentas Principais do Azure Functions, poderá ver o histórico de implantação no portal do Azure.