Обход правила в файле web.config на основе входящего IP-адреса - PullRequest
0 голосов
/ 19 февраля 2020

Я пытался найти решения в течение 6 часов, чтобы понять это правильно, но не могу найти что-либо ни в блогах разработчиков, ни в стеке. Я пытаюсь принудительно перенаправить HTTPS со всех внешних вызовов на мой веб-сайт, все еще переходя на сайт HTTP, когда к веб-сайту обращаются через внутренний вызов, в данном случае с использованием IP-адреса 192.168.8.68 в строке URL-адреса браузер. Это работало отлично, пока мы вчера не установили SSL-сертификат и не применили следующее правило перенаправления:

<rule name="Redirect to HTTPS" patternSyntax="Wildcard" stopProcessing="true">
    <match url="*" />
    <conditions logicalGrouping="MatchAny">
        <add input="{HTTPS}" pattern="OFF" />
    </conditions>
    <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" appendQueryString="false" />
</rule>

Я хотел бы знать, как мне обойти это, если входящий IP-адрес имеет форму 192.168.8.* ? Добавление указанных c iPs в регулярное выражение приводит к сбою загрузки веб-сайта с ошибкой "Слишком много перенаправлений" Я уже рассмотрел следующий список вопросов, пытаясь решить эту проблему:

https://forums.iis.net/t/1166994.aspx?Rewrite+Redirection+for+only+external+users

IIS 7.5 перенаправить определенные запросы на другой сервер используя IP-адрес

IIS | Указание страницы блокировки c URL-адрес, за исключением указанного c внутренний IP-адрес

https://docs.secureauth.com/display/KBA/Use+URL+Rewrite+for+IP+Restrictions

Два экземпляра одного веб-сайта на IIS с разными web.config (две разные базы данных)

один каталог сайтов / несколько сайтов IIS (несколько файлов web.config)

1 Ответ

0 голосов
/ 20 февраля 2020

Вы можете использовать это правило для обхода запроса с ip 192.168.8. *.

<rule name="Redirect to HTTPS" enabled="true" patternSyntax="ECMAScript" stopProcessing="true">
    <match url=".*" />
    <conditions logicalGrouping="MatchAny">
                        <add input="{HTTPS}" pattern="OFF" />
                        <add input="{REMOTE_ADDR}" pattern="192\.168\.8\.[0-9]+" negate="true" />
    </conditions>
    <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" appendQueryString="false" redirectType="Permanent" />
</rule>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...