Простая перезапись URL IIS - PullRequest
3 голосов
/ 22 октября 2011

Простой вопрос. Мне нужно перенаправить все запросы http 80 и https 443 по URL определенного субдомена на альтернативный порт SSL https 444.

Пример: http://sub.corp.com -> https://sub.corp.com:444 Пример: https://sub.corp.com -> https://sub.corp.com:444

Я хочу использовать только модуль перезаписи URL IIS 7.5.

Спасибо.

Ответы [ 2 ]

8 голосов
/ 22 октября 2011

Следующее правило перезаписи URL должно делать то, что вы хотите:

<rewrite>
    <rules>
        <rule name="Redirect to port 444" stopProcessing="true">
            <match url="(.*)" />
            <conditions logicalGrouping="MatchAny">
                <add input="{HTTPS}" pattern="^ON$" negate="true" />
                <add input="{SERVER_PORT}" pattern="^444$" negate="true" />
            </conditions>
            <action type="Redirect" url="https://sub.corp.com:444/{R:0}" />
        </rule>
    </rules>
</rewrite>

Перенаправляет на https://sub.corp.com:444 всякий раз, когда HTTPS не включен, или когда номер порта не 444. Сайт должен иметьпривязки к порту 80 (с HTTP), 443 (с HTTPS для стандартов SSL) и 444 (с HTTPS), чтобы это работало.

1 голос
/ 24 июня 2013

Решения Marco работают отлично, если кто-то задается вопросом, как применить это в IIS.Вы добавляете это в файл web.config .Если вы создаете виртуальный каталог в IIS, в выбранной физической папке будет создан файл web.config.

<?xml version="1.0" encoding="UTF-8"?>
 <configuration>
<system.webServer>
    <rewrite>
        <rules>
            <rule name="Redirect to port 50443" stopProcessing="true">
                <match url="(.*)" />
                <conditions logicalGrouping="MatchAny">
                    <add input="{HTTPS}" pattern="^ON$" negate="true" />
                    <add input="{SERVER_PORT}" pattern="^50443$" negate="true" />
                </conditions>
                <action type="Redirect" url="https://{HTTP_HOST}:50443/{R:0}" />
            </rule>
        </rules>
    </rewrite>
 </system.webServer>
</configuration>
...