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:

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)

  1. Ejecute el instalador en el servidor IIS.

  2. Reinicie el servidor o ejecute net stop was /y, seguido de net start w3svc en un shell de comandos.

Creación del sitio de IIS

  1. 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.

  2. 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.

  3. 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/ y http://+: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.

  4. Confirme que la identidad del modelo de proceso tiene los permisos adecuados.

    Si cambia la identidad predeterminada del grupo de aplicaciones (Modelo de proceso>Identity ) de ApplicationPoolIdentity a otra identidad, compruebe que la nueva 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).
  1. Desde el Explorador de soluciones, haga clic con el botón derecho en el proyecto y seleccione Publicar.
  2. En el cuadro de diálogo Elegir un destino de publicación, seleccione la opción de publicación Carpeta.
  3. 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.
  4. 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

Artículos relacionados con 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