Перенаправление IIS Несколько доменов разрешают один доступ к папке - запрещают доступ к другим - PullRequest
0 голосов
/ 30 сентября 2019

Как я могу создать правило перенаправления, которое разрешит доступ к одной папке с Domain2.com и запретит / перенаправит к корню, если доступ с Domain1.com

В основном мы хотим, чтобы консоль администратора не имела доступаиз Domain1 и настроить его на Domain2.

Я пытался использовать negagte в правилах перенаправления, но это не для меня.

    <!-- Redirect Domain1 Admin to Homepage -->
    <rule name="RedirectAdmintoHomepage">
      <match url="https://www.domain1.com/admin" />
      <action type="Redirect" url="https://www.domain1.com/" />
    </rule>
    <!-- End Redirect Domain1 Admin to Homepage -->

         <rule name="Redirect .aspx to non aspx" stopProcessing="true">
                      <match url="(.*).aspx" />
                      <conditions>
                        <add input="{REQUEST_URI}" pattern="admin" negate="true" />
                        <add input="{REQUEST_URI}" pattern="userlogin" negate="true" />
                      </conditions>
                      <action type="Redirect" url="{R:1}" />
            </rule> 

                        <rule name="Force WWW and SSL" enabled="true" stopProcessing="true">
      <match url="(.*)" />
      <conditions logicalGrouping="MatchAny">
          <add input="{HTTP_HOST}" pattern="^[^www]" />
          <add input="{HTTPS}" pattern="off" />
<!-- Exclude Domain2 redirection -->
          <add input="{HTTPS}" pattern="https://console.domain2.com" negate="true" />  
<!-- Exclude Domain2 redirection -->
</conditions>
      <action type="Redirect" url="https://www.domain1.com/{R:1}" appendQueryString="true" redirectType="Permanent" />
    </rule>

Короче говоря, в основном

DisAllowhttps://www.domain1.com/admin

Разрешить https://console.domain1.com/admin (*)

1 Ответ

0 голосов
/ 02 октября 2019

вы можете использовать приведенное ниже правило перезаписи URL, чтобы запретить https://www.domain1.com/ доступ к папке администратора и разрешить https://console.domain1.com/

<rule name="RequestBlockingRule14" patternSyntax="ECMAScript" stopProcessing="true">
                <match url="(.*)" />
                <conditions>
                    <add input="{HTTPS}" pattern="on" />
                    <add input="{HTTP_HOST}" pattern="www.domain1.com" />
                    <add input="{REQUEST_URI}" pattern="admin/(.*)" />
                    <add input="{HTTP_HOST}" pattern="console.domain1.com" negate="true" />
                </conditions>
                <action type="Redirect" url="https://www.domain1.com/" redirectType="Temporary" />
            </rule>

Примечание: в вас есть какая-то проблема Принудительное правило WWW и SSL . Вы должны исправить это правило в первую очередь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...