Redirección de URL de IIS 7.5 para patrones específicos

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:

  1. URL de coincidencia

    URL solicitada: coincide con el patrón

    Usando: expresión regular

    Patrón: (.*)

    Ignorar caso: marcado

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

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

preguntado el 03 de mayo de 12 a las 10:05

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

1 Respuestas

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 or haz tu propia pregunta.