URL IIS переписать в https для нескольких доменов, но не для всех - PullRequest
0 голосов
/ 06 мая 2019

У меня +10 доменов в одном решении, и примерно у половины из них есть SSL-сертификат.Кажется, у меня проблемы с созданием ОДНОГО правила, чтобы заставить правильные правила быть введенными на https.

Я могу использовать правило для каждого из них, но чувствую, что это должно было сработать:

<rule name="HTTP to HTTPS redirect 1" patternSyntax="ECMAScript" stopProcessing="true">
  <match url="(.*)" />
    <conditions>
      <add input="{HTTP_HOST}" pattern="^www.domainNo1.dk$" />
      <add input="{HTTP_HOST}" pattern="^www.domainNo2.dk$" />
      <add input="{HTTP_HOST}" pattern="^www.domainNo3.dk$" />
      <add input="{HTTPS}" pattern="off" />
    </conditions>
    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />
</rule>

это оставляет домен4, домен5 и т. д. в одиночку.

К сожалению, это не срабатывает, когда у меня есть более одного домена в правиле.Я предполагаю, что это логическая группировка, которая, вероятно, используется по умолчанию:

logicalGrouping="MatchAll"

Но установка:

logicalGrouping="MatchAny"

сделает сайты вообще не работающими.После перенаправления на https он продолжает перенаправлять страницы, что приводит к «ERR_TOO_MANY_REDIRECTS».

Я бы подумал, что это было обработано

<add input="{HTTPS}" pattern="off" />

Но нет.

Надеюсь, что кто-нибудь может помочь.

1 Ответ

1 голос
/ 06 мая 2019

Вы можете использовать приведенное ниже правило перезаписи для соответствия нескольким доменам:

<rule name="http to https with multiple domain name" stopProcessing="true">
                <match url="(.*)" />
                <conditions logicalGrouping="MatchAll">
                    <add input="{HTTP_HOST}" pattern="www.sample1.com|www.sample3.com" />
                    <add input="{HTTPS}" pattern="off" />
                </conditions>
                <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />
            </rule>

enter image description here

С уважением,

Джалпа

...