Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se muestra cómo usar el protocolo de transferencia de archivos (FTP) o el protocolo de transferencia de archivos seguro (FTPS) para implementar la aplicación web, el back-end de la aplicación móvil o la aplicación de API en Azure App Service. No es necesario configurar para habilitar la implementación de aplicaciones FTP o FTPS. El punto de conexión FTP/S de la aplicación ya está activo.
Nota:
Tanto las credenciales de publicación de autenticación básica de SCM como las credenciales de publicación de autenticación básica de FTP deben estar habilitadas para que funcione la implementación de FTP/S. Cuando la autenticación básica está deshabilitada, la implementación de FTP/S no funciona y no se pueden ver ni configurar las credenciales de FTP/S en el Centro de implementación de la aplicación.
Obtención de credenciales de implementación
Para obtener credenciales para la implementación, siga las instrucciones de Configuración de credenciales de implementación para Azure App Service. Copie las credenciales de ámbito de aplicación de la aplicación o establezca y copie las credenciales de ámbito de usuario. Puede conectarse al punto de conexión FTP/S de la aplicación mediante cualquiera de los conjuntos de credenciales.
En el caso de las credenciales de ámbito de aplicación, el formato de nombre de usuario ftp/S es <app-name>\$<app-name>
. Para las credenciales de ámbito de usuario, el formato de nombre de usuario FTP/S es <app-name>\<username>
. Los puntos de conexión FTP/S de App Service se comparten entre aplicaciones y, dado que las credenciales de ámbito de usuario no están vinculadas a un recurso específico, debe anteponer el nombre de usuario con el nombre de aplicación.
Obtención del punto de conexión FTP/S
Para obtener el punto de conexión FTP/S:
En la página del portal de Azure de la aplicación, seleccione Centro de Implementación bajo Implementación en el menú de navegación izquierdo. En la pestaña Credenciales de FTPS , copie la dirección URL del punto de conexión de FTPS .
Implementación de archivos en Azure
Para implementar archivos en Azure con FTP/S:
- Desde el cliente FTP/S, como Visual Studio, Cyberduck o WinSCP, use la información de conexión para conectarse a la aplicación.
- Copie los archivos y su estructura de directorios en el directorio /site/wwwroot de Azure o el directorio /site/wwwroot/App_Data/Jobs/ para WebJobs.
- Vaya a la dirección URL de la aplicación para comprobar que la aplicación se está ejecutando correctamente.
Nota:
A diferencia de la implementación local de Git y la implementación ZIP, la implementación de FTP/S no admite la automatización de compilación, como:
- Restaurar dependencias como NuGet, NPM, PIP y Composer automation.
- Compilación de archivos binarios de .NET.
- Generación de un archivo web.config .
Debe generar estos archivos necesarios manualmente en el equipo local y, a continuación, implementarlos con la aplicación. Para obtener un ejemplo de Node.js web.config, consulte Uso de web.config personalizado para aplicaciones de Node.
Aplicación de FTPS
FTPS es una forma más segura de FTP que usa seguridad de la capa de transporte (TLS) y capa de sockets seguros (SSL). Para mejorar la seguridad, debe aplicar FTPS a través de TLS/SSL. También puede deshabilitar FTP y FTPS si no usa la implementación de FTP.
Para deshabilitar FTP sin cifrar:
En la página del portal de Azure de tu aplicación, selecciona Configuración en Ajustes en el menú de navegación izquierdo.
En la pestaña Configuración general de la página Configuración , en Configuración de la plataforma, seleccione FTPS solo para el estado FTP. O bien, para deshabilitar FTP y FTPS por completo, seleccione Deshabilitado.
Si selecciona SOLO FTPS, asegúrese de que TLS 1.2 o superior se aplica para la configuración mínima de TLS de entrada. TLS 1.0 y 1.1 no se admiten para FTPS solamente.
En la parte superior de la página, seleccione Guardar.
Solución de problemas de implementación de FTP/S
- ¿Qué ocurre con mi aplicación durante la implementación que puede provocar errores o comportamientos imprevisibles?
- ¿Cuál es el primer paso para solucionar problemas de implementación de FTP/S?
- ¿Por qué no puedo publicar mi código en FTP/S?
- ¿Cómo puedo conectarse a FTP/S en App Service a través del modo pasivo?
- ¿Por qué se produce un error en mi conexión al intentar conectarse a través de FTPS mediante cifrado explícito?
- ¿Cómo puedo determinar qué método se usó para implementar mi aplicación?
¿Qué ocurre con mi aplicación durante la implementación que puede provocar errores o comportamientos imprevisibles?
Los métodos de implementación admitidos oficialmente realizan cambios en los archivos de la carpeta /home/site/wwwroot que se usan para ejecutar la aplicación. La implementación puede producir un error debido a archivos bloqueados. La aplicación también puede comportarse de forma impredecible durante la implementación si los archivos no se actualizan al mismo tiempo, lo que no es deseable para una aplicación orientada al cliente.
Hay varias maneras de evitar estos problemas.
- Ejecute la aplicación directamente desde el paquete ZIP sin desempaquetarla.
- Detenga la aplicación o habilite el modo sin conexión durante la implementación. Para más información, consulte Deal with locked files during deployment (Tratamiento de archivos bloqueados durante la implementación).
- Realice la implementación en un espacio de ensayo con el intercambio automático activado.
¿Cuál es el primer paso para solucionar problemas de implementación de FTP/S?
El primer paso para solucionar problemas de implementación de FTP/S es distinguir entre los problemas de implementación y los problemas de la aplicación en tiempo de ejecución.
Normalmente, un problema de implementación provoca que no se implementen archivos o que se implementen archivos erróneos en la aplicación. Para resolver problemas, investigue la implementación de FTP/S o seleccione una ruta alternativa de implementación, como la gestión de código fuente.
Un problema de aplicación en tiempo de ejecución suele dar lugar a los archivos correctos implementados en la aplicación, pero un comportamiento incorrecto de la aplicación. Para solucionar problemas, puede centrarse en el comportamiento del código durante la ejecución e investigar rutas de error específicas.
Para obtener más información, consulte Problemas de implementación frente a tiempo de ejecución.
¿Por qué no puedo publicar mi código en FTP/S?
Compruebe que especificó el nombre de host y las credenciales correctos. Asegúrese también de que un firewall no bloquee los siguientes puertos FTP/S en la máquina:
- Puertos de conexión de control FTP/S:
21
,990
- Puertos de conexión de datos FTP/S:
989
,10001-10300
¿Cómo puedo conectarse a FTP/S en Azure App Service a través del modo pasivo?
Azure App Service admite la conexión a través de modos activos y pasivos. Se prefiere el modo pasivo porque las máquinas de implementación suelen estar detrás de un firewall en el sistema operativo o como parte de una red doméstica o empresarial. Para obtener un ejemplo de una conexión en modo pasivo, vea la página de conexión (cuadro de diálogo Configuración avanzada del sitio).
¿Por qué se produce un error en mi conexión al intentar conectarse a través de FTPS mediante cifrado explícito?
FTPS permite establecer una conexión segura TLS explícita o implícita.
- Si se conecta con cifrado explícito, la conexión se establece a través del puerto
21
. - Si se conecta con cifrado implícito, la conexión se establece a través del puerto
990
.
El formato de dirección URL que usa puede afectar al éxito de la conexión y depende de la aplicación cliente. El portal muestra la dirección URL como ftps://
, pero si la dirección URL con la que se conecta comienza con ftp://
, la conexión está implícita en el puerto 21
. Si la dirección URL comienza por ftps://
, la conexión es implícita y se supone que está en el puerto 990
.
Asegúrese de no mezclar la configuración, como intentar conectarse a ftps://
mediante el puerto 21
. Esta configuración no se puede conectar incluso mediante el cifrado explícito, ya que una conexión explícita se inicia como una conexión FTP sin formato antes del AUTH
método .
¿Cómo puedo determinar qué método se usó para implementar mi aplicación?
Puede averiguar cómo se implementó una aplicación comprobando la configuración de la aplicación en su página de Azure Portal. Seleccione Variables de entorno en Configuración en el menú de navegación izquierdo. En la pestaña Configuración de la aplicación :
- Si la aplicación se implementó con una dirección URL del paquete externo, la
WEBSITE_RUN_FROM_PACKAGE
configuración aparece en la configuración de la aplicación con un valor de dirección URL. - Si la aplicación se implementó mediante zip deploy, la
WEBSITE_RUN_FROM_PACKAGE
configuración aparece con un valor de1
.
Si ha implementado la aplicación mediante Azure DevOps, puede ver el historial de implementación en el portal de Azure DevOps. Si ha usado Azure Functions Core Tools, puede ver el historial de implementación en Azure Portal.