Назад | Перейти на главную страницу

Ограничения IP-адреса и домена IIS с включенным режимом прокси, запрет на разрешенный x-forwarded-for

В соответствии с эти документы, IIS должен разрешать ограничение IP-адресов на основе адреса x-forwarded-for, видимого IIS, если он находится за прокси-сервером, если enableProxyMode установлено значение true. Я отредактировал настройки функции, чтобы включить режим прокси, и добавил запись «разрешить» для IP-адреса нашего прокси.

Моя проблема в том, что я все еще получаю отказ с 403 запрещенным при попытке подключения. Стоит отметить, что я настраиваю это только для одного из приложений определенного веб-сайта. Версия IIS - 8.0.x Протестировано после полного сброса IIS и проверки applicationHost.config:

<location path="mysite.com/myapp">
    <system.webServer>
        <security>
        <ipSecurity allowUnlisted="false" enableProxyMode="true">
           <add ipAddress="my proxy ip..." allowed="true" />
            </ipSecurity>
        </security>
    </system.webServer>
</location>

И ваш IP, и ваш IP-адрес x-forwarded-for должны иметь разрешенные записи, чтобы запрос был разрешен.

При включенном режиме прокси сервер сначала проверяет, разрешен ли представленный IP (ip прокси). Если это так, он затем получает последний ip-адрес x-forwarded-for и проверяет, разрешено ли THAT, и рекурсивно просматривает список IP-адресов x-forwarded-for и проверяет каждый на предмет разрешения. Все должно быть разрешено, иначе запрос будет заблокирован.

Если IP-адрес прокси НЕ разрешен, запрос блокируется, а s-forwarded-for вообще не рассматривается; вы должны доверять источнику запроса, чтобы попытаться доверять тому, что находится В запросе.

Это объясняется в более длинной форме (и лучшей терминологии) здесь: https://blogs.iis.net/wadeh/dynamic-ip-restriction-proxy-mode