Вопрос по – IIS 7.5 URL Redirect для определенных шаблонов

0

Когда пользователь входит в domain.com, он должен перенаправить на мое приложение, котороеhttps://www.domain.com, В настоящее время этого не происходит, и отображается страница "Это соединение ненадежное".

У меня есть следующий тег перезаписи, добавленный в мой web.config:

<code>        <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>
</code>

В настоящее время в IIS 7.5 я добавил правило для входящих подключений, настройки которого у меня следующие:

In Match URL

Requested URL: Matches the Pattern

Using: Reqular Expression

Pattern: (.*)

Ignore Case: Checked

Conditions

Logical Grouping: Match All

Input: {HTTPS}

Type: Matches the Pattern

Pattern: ^OFF$

Track group across condition: unchecked

Action

Action Type: Redirect

Redirect URL: https://{HTTP_HOST}/{R:1}

Append Query string: checked

Redirect Type: See Other (303)

Пожалуйста, дайте мне знать, если какие-либо изменения могут быть внесены в существующие настройки.

Заранее спасибо.

если я ввожу URL-адрес как www.domain.com, он работает нормально, так как он перенаправляетdomain.com, Но если я введу URL-адрес как domain.com, он отобразит страницу с ошибкой как "Соединение не заслуживает доверия". это потому что я использую https. shakti

Ваш Ответ

1   ответ
4

если пользователь вводит простоdomain.com (по умолчанию http) он будет перенаправлен наhttps://domain.com, Если ваш SSL-сертификат не содержитdomain.com но толькоwww.domain.com это заставит браузер выдавать предупреждение о неправильном сертификате. Хотя большинство центров сертификации в настоящее время выдают сертификаты как с доменом, так и без www (но, возможно, у вас нет).

Если вы хотите, чтобы пользователь всегда использовалhttps://www.domain.com (всегда с www) вы должны использовать следующее правило переписывания:

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

Это заставит SSL и заставитwww.domain.com в качестве заголовка хоста. Если нет, то будет произведено постоянное перенаправление (= beter) на тот же URL.

Похожие вопросы