Publicación de una aplicación ASP.NET Core en IIS
En este tutorial se muestra cómo hospedar una aplicación ASP.NET Core en un servidor IIS.
En este tutorial se describen los temas siguientes:
- Instalación del conjunto de hospedaje de .NET Core en Windows Server
- Creación de un sitio de IIS en el Administrador de IIS
- Implementación de una aplicación ASP.NET Core
Requisitos previos
- El SDK de .NET Core instalado en el equipo de desarrollo.
- Windows Server configurado con el rol de servidor Servidor web (IIS) . Si el servidor no está configurado para hospedar sitios web con IIS, siga las instrucciones de la sección Configuración de IIS del artículo Hospedaje de ASP.NET Core en Windows con IIS y, después, vuelva a este tutorial.
Advertencia
La configuración de IIS y la seguridad de los sitios web implican conceptos que no se describen en este tutorial. Consulte las instrucciones de IIS en la documentación de Microsoft IIS y el artículo de ASP.NET Core sobre hospedaje con IIS antes de hospedar aplicaciones de producción en IIS.
Entre los escenarios importantes para el hospedaje de IIS que no se describen en este tutorial se incluyen los siguientes:
- Creación de un subárbol del Registro para la protección de datos de ASP.NET Core
- Configuración de la lista de control de acceso (ACL) del grupo de aplicaciones
- Para centrarse en los conceptos de implementación de IIS, en este tutorial se implementa una aplicación sin seguridad HTTPS configurada en IIS. Para obtener más información sobre cómo hospedar una aplicación habilitada para el protocolo HTTPS, vea los temas de seguridad en la sección Recursos adicionales de este artículo. En el artículo Hospedaje de ASP.NET Core en Windows con IIS se proporciona más información sobre cómo hospedar aplicaciones ASP.NET Core.
Instalación del conjunto de hospedaje de .NET Core
Instale el conjunto de hospedaje de .NET Core en el servidor IIS. El lote instala .NET Core Runtime, .NET Core Library y el módulo ASP.NET Core. El módulo permite que las aplicaciones ASP.NET Core se ejecuten detrás de IIS.
Descargue al instalador mediante el vínculo siguiente:
Instalador del conjunto de hospedaje de .NET Core actual (descarga directa)
Ejecute el instalador en el servidor IIS.
Reinicie el servidor o ejecute
net stop was /y
, seguido denet start w3svc
en un shell de comandos.
Creación del sitio de IIS
En el servidor IIS, cree una carpeta para que contenga los archivos y las carpetas publicados de la aplicación. En un paso posterior, la ruta de acceso de la carpeta se proporciona a IIS como la ruta de acceso física a la aplicación. Para más información sobre el diseño de carpetas y archivos de implementación de una aplicación, consulte Estructura de directorios de ASP.NET Core.
En Administrador de IIS, abra el nodo del servidor en el panel Conexiones. Haga clic con el botón derecho en la carpeta Sitios. Haga clic en Agregar sitio web en el menú contextual.
Proporcione el Nombre del sitio y establezca la Ruta de acceso física a la carpeta de implementación de la aplicación que ha creado. Proporcione la configuración de Enlace y seleccione Aceptar para crear el sitio web.
Advertencia
Los enlaces de carácter comodín de nivel superior (
http://*:80/
yhttp://+:80
) no se deben usar. Los enlaces de carácter comodín de nivel superior pueden exponer su aplicación a vulnerabilidades de seguridad. Esto se aplica tanto a los caracteres comodín fuertes como a los débiles. Use nombres de host explícitos en lugar de caracteres comodín. Los enlaces de carácter comodín de subdominio (por ejemplo,*.mysub.com
) no suponen este riesgo de seguridad si se controla todo el dominio primario (a diferencia de*.com
, que sí es vulnerable). Consulte RFC 9110: Semántica HTTP (Sección 7.2: Host y :authority) para más información.Confirma que la identity del modelo de proceso tiene los permisos adecuados.
Si cambias la identity predeterminada del grupo de aplicaciones (modelo de proceso>Identity) de
ApplicationPoolIdentity
a otra identity, comprueba que la nueva identity tenga los permisos necesarios para acceder a la carpeta de la aplicación, la base de datos y otros recursos necesarios. Por ejemplo, el grupo de aplicaciones requiere acceso de lectura y escritura a las carpetas donde la aplicación lee y escribe archivos.
Creación de una aplicación Razor Pages de ASP.NET Core
Siga el tutorial Introducción a ASP.NET Core para crear una aplicación de Razor Pages.
Publicar e implementar la aplicación
Publicar una aplicación significa generar una aplicación compilada que se puede hospedar en un servidor. Implementar una aplicación significa trasladar la aplicación publicada a un sistema de hospedaje. El paso de publicación lo controla el SDK de .NET Core, mientras que el paso de implementación se puede controlar mediante distintos enfoques. En este tutorial se adopta el enfoque de implementación de carpetas, donde:
- La aplicación se publica en una carpeta.
- El contenido de la carpeta se mueve a la carpeta del sitio de IIS (la ruta de acceso física al sitio en el Administrador de IIS).
- Desde el Explorador de soluciones, haga clic con el botón derecho en el proyecto y seleccione Publicar.
- En el cuadro de diálogo Elegir un destino de publicación, seleccione la opción de publicación Carpeta.
- Establezca la ruta de acceso Recurso compartido de archivos o carpeta.
- Si ha creado una carpeta para el sitio de IIS que está disponible en el equipo de desarrollo como un recurso compartido de red, proporcione la ruta de acceso al recurso compartido. El usuario actual debe tener acceso de escritura para publicar en el recurso compartido.
- Si no puede realizar la implementación directamente en la carpeta del sitio de IIS en el servidor IIS, publique en una carpeta de un medio extraíble y mueva físicamente la aplicación publicada a la carpeta del sitio de IIS en el servidor, que es la ruta de acceso física del sitio en el Administrador de IIS. Mueva el contenido de la carpeta
bin/Release/{TARGET FRAMEWORK}/publish
a la carpeta del sitio de IIS en el servidor, que es la ruta de acceso física del sitio en el Administrador de IIS.
- Seleccione el botón Publicar.
Examinar el sitio web
Se puede acceder a la aplicación en un explorador después de que reciba la primera solicitud. Realice una solicitud a la aplicación en el enlace de punto de conexión que ha establecido en el Administrador de IIS para el sitio.
Pasos siguientes
En este tutorial ha aprendido a:
- Instalación del conjunto de hospedaje de .NET Core en Windows Server
- Creación de un sitio de IIS en el Administrador de IIS
- Implementación de una aplicación ASP.NET Core
Para obtener más información sobre cómo hospedar aplicaciones ASP.NET Core en IIS, vea el artículo Información general de IIS:
Recursos adicionales
Artículos en el conjunto de documentación de ASP.NET Core
- Módulo ASP.NET Core (ANCM) para IIS
- Estructura de directorios de ASP.NET Core
- Solución de problemas de ASP.NET Core en Azure App Service e IIS
- Aplicación de HTTPS en ASP.NET Core
- WebSockets en IIS
Artículos relacionados con la implementación de aplicaciones ASP.NET Core
- Publicar una aplicación de ASP.NET Core en Azure con Visual Studio
- Publicación de una aplicación de ASP.NET Core en Azure con Visual Studio Code
- Perfiles de publicación (.pubxml) de Visual Studio para la implementación de aplicaciones ASP.NET Core
Artículos sobre la configuración HTTPS de IIS
Artículos sobre IIS y Windows Server
Recursos de implementación para administradores de IIS
- Documentación de IIS
- Introducción al Administrador de IIS en IIS
- Implementación de aplicaciones .NET Core
- Módulo ASP.NET Core (ANCM) para IIS
- Estructura de directorios de ASP.NET Core
- Módulos de IIS con ASP.NET Core
- Solución de problemas de ASP.NET Core en Azure App Service e IIS
- Solución de problemas comunes para Azure App Service e IIS con ASP.NET Core
- Sesiones temporales con Enrutamiento de solicitud de aplicaciones