Redirección de URL de IIS 7.5 para patrones específicos
Frecuentes
Visto 10,594 veces
0
Cuando el usuario ingresa a domain.com, debe redirigir a mi aplicación, que es https://www.domain.com. Actualmente no está sucediendo y muestra una página "Esta conexión no es de confianza".
Tengo la siguiente etiqueta de reescritura agregada en mi web.config:
<rewrite>
<rules>
<rule name="Redirect to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" />
</rule>
</rules>
</rewrite>
Actualmente, en mi IIS 7.5, he agregado una regla de entrada que tengo configurada de la siguiente manera:
URL de coincidencia
URL solicitada: coincide con el patrón
Usando: expresión regular
Patrón: (.*)
Ignorar caso: marcado
Condiciones
Agrupación lógica: Coincidir con todos
Entrada: {HTTPS}
Tipo: coincide con el patrón
Patrón: ^DESACTIVADO$
Grupo de seguimiento a través de la condición: sin marcar
Acción
Tipo de acción: Redirigir
URL de redirección: https://{HTTP_HOST}/{R:1}
Agregar cadena de consulta: marcado
Tipo de redirección: ver otro (303)
Por favor, hágame saber si se pueden realizar cambios en la configuración existente.
Gracias de antemano.
1 Respuestas
4
Su regla de reescritura solo está redirigiendo al mismo dominio. Entonces, si un usuario ingresa solo domain.com
(predeterminado en http) se redirigirá a https://domain.com
. Si su certificado SSL no contiene domain.com
único propósito www.domain.com
hará que el navegador muestre una advertencia sobre un certificado incorrecto. Aunque la mayoría de las autoridades de certificación hoy en día emiten certificados con el dominio con y sin www (pero tal vez el tuyo no).
Si desea que el usuario utilice siempre https://www.domain.com
(siempre con www) debes usar la siguiente regla de reescritura:
<rule name="Force HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTPS}" negate="true" pattern="^ON$" />
<add input="{HTTP_HOST}" negate="true" pattern="^www\.domain\.com$" />
</conditions>
<action type="Redirect" url="https://www.domain.com{REQUEST_URI}" appendQueryString="false" redirectType="Permanent" />
</rule>
Forzará SSL y forzará www.domain.com
como encabezado de host. Si no, emitirá una redirección permanente (= mejor) a la misma URL.
contestado el 04 de mayo de 12 a las 12:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas iis url-rewriting iis-7.5 or haz tu propia pregunta.
si introduzco la URL como www.domain.com, funciona bien, ya que redirige correctamente a domain.com. Pero si introduzco la URL como dominio.com, me mostraría una página de error como "La conexión no es de confianza". esto se debe a que estoy usando https. - shakti