Redireccionamiento de IIS: nombre de host a alias con solo redireccionamiento HTTP

Redireccionamiento de IIS: nombre de host a alias con solo redireccionamiento HTTP

Tengo un servidor Windows 2016 (FQDN: servidor1.dominio) en un dominio de Active Directory. Estoy alojando aplicaciones web de intranet en IIS.

Recientemente obtuve un alias (FQDN: CoolName.domain) para ese servidor creado en el DNS. Los certificados TLS fueron generados por la autoridad certificadora interna. Dentro de IIS, vinculé el puerto 443 a los nombres de host CoolName.domainy CoolNameal certificado.

Quiero poder redirigir mis aplicaciones existentes desde el dominio anterior (es decir, server1.domain/app1) al alias (es decir, CoolName.domain/app1) cada vez que las personas escriban el dominio anterior. También fuerce HTTPS si están usando HTTP.

Mi intento fue utilizar el módulo de redireccionamiento HTTP a nivel de servidor dentro del Administrador de IIS y completé lo siguiente:

  1. Redirigir solicitudes a este destino:https://CoolName.dominio

  2. Comportamiento de redireccionamiento: marcadoRedirect all requests to exact destination (instead of relative to destination)

  3. Luego presione Aplicar.

Una imagen de referencia de las opciones que hice:https://i.stack.imgur.com/vgPld.jpg

Cuando visito los siguientes enlaces, no pudieron redirigir:

http://server1

http://CoolName

http://CoolName.domain

Sólo http://server1.domainterminé redirigiendo a https://CoolName.domain.

Tan pronto como intenté redirigir cualquier URL que fuera más allá del dominio, como http://CoolName.domain/app1, no redirige. Intenté desmarcar la casilla paraRedirigir todas las solicitudes al destino exacto (en lugar de en relación con el destino)en 2.

¿Es posible cumplir con mi requisito solo con redireccionamiento HTTP?

Respuesta1

Omití mencionar en mi publicación inicial que estaba recibiendo errores relacionados con "Demasiados redireccionamientos HTTP". Resulta que habilitar el redireccionamiento HTTP Y redirigir al MISMO sitio web (incluso con un alias diferente) redirigirá infinitamente. Aparentemente, IIS no es lo suficientemente inteligente como para detectar si estaba redireccionando al mismo dominio o no. Imagínate. Terminé resolviendo mi problema siguiendo las instrucciones aquí:https://stackoverflow.com/a/49460688

Para resumir: está creando un sitio web ficticio y vinculando todo el tráfico HTTP del puerto 80 en ese sitio en IIS, luego puede redirigir a HTTPS configurado en su sitio web IIS original. Para hacerlo:

  1. El sitio web predeterminado: vincule todo el tráfico HTTP a un puerto libre que no sea el 80 (o puede eliminar el enlace HTTP). Deje los enlaces HTTPS en paz.

Para el sitio web predeterminado, cambie el enlace HTTP a un puerto diferente o elimínelo.

  1. Cree un nuevo sitio web en IIS (RedirectSite): vincule todo el tráfico HTTP al puerto 80.

Configure enlaces al puerto 80 para el sitio ficticio RedirectSite.

  1. Dentro de la configuración de DummySite, haga clic en Redireccionamiento HTTP. Marque la casilla "Redireccionar solicitudes a este destino"; en el campo URL de destino, escriba el dominio completo con HTTPS. p.ej.https://CoolName.dominio. Código HTTP 301. No es necesario marcar otras casillas ya que quería redirigir todo lo relacionado con el dominio. Asegúrate de presionar "Aplicar" para guardar tu configuración.

Paso 3, configurar la redirección

  1. Después de aplicar la configuración, espere unos minutos para que se propaguen los cambios si está utilizando la autenticación de Windows. Tuve problemas con errores de autenticación (HTTP 40xx.x) cuando probé las redirecciones. Borre su caché en el navegador de su cliente antes de probar los enlaces.

  2. Prueba. Terminé usando los enlaces según mi publicación inicial:

http://servidor1

http://servidor1.dominio

http://Nombre Genial

http://CoolName.dominio

Estos enlaces deberían terminar redireccionando ahttps://CoolName.dominio.

Como nota al margen para ambos sitios web, si corresponde:

  • Asegúrese de que IIS_IUSRS e IUSR tengan permisos de lectura/ejecución en los directorios del sitio web. Lo mismo con [nombre_servidor]\Usuarios

  • Verifique que la autenticación de Windows esté configurada correctamente

información relacionada