Publicar de forma remota programas ASP.NET Core en servidores web IIS en Internet

Fecha de creación de la página :

medio ambiente

Servidor Windows
  • Windows Server 2019
Servicios de Internet Information Server (IIS)
  • 10.0
núcleo ASP.NET
  • 5.0
Implementación web
  • 3.6 Versión japonesa

Al principio

Aprenda a cargar programas ASP.NET Core directamente desde Visual Studio a Internet Information Services (IIS) que configuró en Windows Server.

La primera vez que necesite trabajar en Windows Server, una vez que lo configure, puede publicarlo directamente desde Visual Studio por segunda vez y más allá.

Este Consejo publica programas en servidores en Internet, pero las medidas de seguridad son mínimas, por lo que si está preocupado, le recomendamos que tome medidas adicionales o tome otro método de carga.

precondición

  • Configuración de Windows Server
  • Ya tienes un programa ASP.NET Core para cargar
  • Conectarse a servidores a través de Internet o intranet

procedimiento

Configurar Internet Information Services (IIS)

Los pasos se resumen en la página siguiente. IIS también se puede usar para otros programas que no sean la ejecución de ASP.NET Core.

Por cierto, se requiere una configuración adicional en la configuración de IIS, pero no se establece en las sugerencias vinculadas anteriormente. Puede configurarlo más tarde, así que hablaremos de eso más adelante.

Agregar servicios de administración en IIS

Agréguelo porque la configuración predeterminada de IIS no configura un "servicio administrado".

Inicie el Administrador del servidor.

En administrar el menú, seleccione Agregar roles y características.

Presione el botón "Siguiente" varias veces en la pantalla deseada.

Cuando llegue a la pantalla "Seleccionar rol de servidor", expanda "Servidor web (IIS)" y "Herramientas de administración" y marque "Servicios de administración". (La cifra está en inglés, pero es la misma).

Si ASP.NET 4.7 no está instalado, aparecerá el siguiente cuadro de diálogo, así que agréguelo.

Después de eso, haga clic en el botón "Siguiente" tal como está e instálelo.

Al abrir el Administrador de IIS, puede comprobar que se han agregado servicios administrativos.

El firewall también permite automáticamente la implementación de puertos.

instalación de ASP.NET Core Hosting Bundle

Necesario para ejecutar ASP.NET Core en Windows Server. Una vez instalado, puede funcionar en IIS como una aplicación de ASP.NET tradicional.

Vaya a las siguientes páginas: Por cierto, este Consejos utiliza 5.0, por lo que si usa una versión diferente, vaya a la página correspondiente.

Hay un paquete de alojamiento para Windows en tiempo de ejecución en la parte inferior derecha de la pantalla, así que haga clic en el enlace para descargarlo.

Ejecute el instalador descargado en Windows Server.

Marque "Acepto los términos de licencia y los términos de uso" y haga clic en el botón de instalación.

Cierre cuando se complete la instalación.

Instalación de Web Deploy

Necesario para recibir un programa de publicación de Visual Studio.

Vaya al siguiente enlace.

Descargar.

Windows Server solo tiene una versión básica de 64 bits, así que descargue la versión de 64 bits.

Ejecutar en Windows Server.

Haga clic en Siguiente.

Marque "Acepto el acuerdo de licencia" y haga clic en "Siguiente".

Haga clic en Completo.

Haga clic en el botón "Instalar".

Cuando finalice la instalación, haga clic en el botón "Listo".

Al abrir el Administrador de IIS, ha agregado Servicios de administración de delegados.

Configuración del grupo de aplicaciones

Para ASP.NET Core, .NET CLR es irrelevante, así que agregue un grupo de aplicaciones sin código administrado. Puede cambiar de forma segura el DefaultAppPool existente. Esta configuración no está directamente relacionada con la implementación web, por lo que no me ocuparé de los detalles.

Si ha agregado un grupo de aplicaciones, estadéjelo en el sitio.

Crear un sitio

Crear un sitio. Puede crear uno nuevo o puede utilizar el sitio web predeterminado desde cero. Este consejo mantendrá el sitio web predeterminado. La creación de sitios no tiene nada que ver directamente con la implementación web, por lo que no quiero entrar en detalles.

Crear un usuario de implementación

También se puede implementar en una cuenta de Windows, pero aumenta los riesgos de seguridad y crea un usuario de implementación dedicado. No es necesario configurar este elemento si va a implementar en una cuenta de Windows.

Inicie el Administrador de IIS.

Seleccione un servidor del árbol izquierdo y abra Usuarios del Administrador de IIS en el grupo Administración central.

Haga clic en Agregar usuario a la derecha.

Cree introduciendo el nombre y la contraseña del usuario de implementación.

Añadido.

Permitir implementación

Solo ha agregado usuarios a IIS, por lo que debe establecer permisos para cada sitio. Esta configuración no es necesaria si va a publicar con una cuenta de administrador de Windows.

Seleccione el sitio en el árbol de la izquierda para abrir Permisos del Administrador de IIS.

En el elemento derecho, haga clic en Permitir usuarios.

Dado que especificamos el usuario que agregamos a IIS esta vez, marque el administrador de IIS y haga clic en el botón Seleccionar. Si desea publicar con una cuenta de Windows, marque Windows.

Se muestra una lista de usuarios y se selecciona.

Una vez seleccionado, haga clic en el botón Aceptar.

El estado que se agregó.

Configuración de implementación

Seleccione un servidor del árbol de la izquierda para abrir Servicios de administración.

Si está activada la opción "Habilitar conexión remota" y "Credenciales de Windows o credenciales del Administrador de IIS", no es necesario que haga nada. Si publicas con una cuenta de Windows, está bien si está marcada la opción "Solo credenciales de Windows".

Si no está marcado, compruébelo.

Creo que cada elemento está en un estado en el que no puede ingresar, así que haga clic en "Detener" a la derecha.

Compruebe los artículos que necesita. Cuando haya terminado, haga clic en el enlace "Inicio" a la derecha.

Hay una configuración para aumentar la seguridad en la parte inferior de esta pantalla, pero antes que nada, es necesario confirmar que se puede organizar, por lo que no ahorraré este tiempo.

Implementación de programas desde Visual Studio

Vuelva al equipo de trabajo e inicie Visual Studio para abrir el programa ASP.NET Core. En esta ocasión, publicaremos un programa con un nuevo proyecto creado.

Haga clic con el botón derecho en el proyecto y seleccione Publicar.

Seleccione Servidor web (IIS) y haga clic en Siguiente.

Seleccione Implementación web.

Escriba lo siguiente:

Valor de nombre de parámetro
servidor La dirección IP o DNS o nombre de dominio del servidor que configuró IIS. Puede especificar Internet o la intranet.
Nombre del sitio Especifica el nombre del sitio que se agrega a IIS.
Ir a la URL No hay ningún problema con el espacio en blanco.
Nombre de usuario Especifica la cuenta de usuario en Windows Server o el nombre de usuario que creó en IIS.
contraseña Introduzca la contraseña de autenticación para el usuario anterior.
Guardar contraseña Si es problemático introducir una contraseña cada vez que publiques, guárdala.

Se crea como se muestra.

Si ha creado varios perfiles de publicación, puede cambiarlos en el menú desplegable anterior, pero si el nombre es confuso, puede hacerlo.

La configuración detallada se puede cambiar en la pantalla de edición.

"Configuración" se selecciona en la pestaña izquierda. No es necesario realizar ningún cambio especial, pero cambie las opciones configuración, tiempo de ejecución de destino y publicación de archivos según sea necesario.

"Conectar" se selecciona en la pestaña izquierda. Verá lo que escribió primero, pero haga clic en el botón "Verificar conexión" a continuación.

El siguiente cuadro de diálogo se mostrará cuando pueda conectarse correctamente al editor. Marque Guardar este certificado para futuras sesiones en Visual Studio y haga clic en el botón "Acepto". Si guarda, este cuadro de diálogo solo se mostrará por primera vez.

Si se muestra una marca de verificación en el lado derecho de la verificación de la conexión, será posible conectarse normalmente.

Por cierto, si falla, haga clic en el enlace para verificar la causa y tomar medidas dependiendo de la causa.

Las causas comunes incluyen:

  • El nombre de usuario y la contraseña son incorrectos.
  • IIS no permite usuarios. Una vez que el método de investigación es implementado por un administrador de Windows.
  • No se permite el firewall Tcp 8172. Las nubes como Azure no lo permiten en el lado de la nube.
  • No tiene la herramienta de implementación web instalada "completamente".
  • Falta Iis. Por favor, revise estos Consejos.

Cuando haya terminado, en el Explorador de soluciones, haga clic en → propiedades de Project → → PublishProfiles expanda y establezca el nombre del problema ". pubxml", por lo que se abre.

Project Agregue y guarde el código siguiente en la PropertyGroup etiqueta >:

<AllowUntrustedCertificate>True</AllowUntrustedCertificate>

Cuando haya terminado de configurar, publique con el botón publicar.

Si publicas correctamente, ya está. Puede fallar ocasionalmente, así que en ese caso, por favor emita de nuevo o verifique la conexión.

Si puede acceder a él en un navegador web y ver el ASP.NET programa Core funcionando, ya está.

Historial de actualizaciones

  • 12 de noviembre de 2021 : Descripción agregada porque se necesitaba .pubxml desde hace algún tiempo AllowUntrustedCertificate