У нас есть лог. c в web.config, который требует внесения IP-адресов в белый список для доступа к нашим веб-сайтам.
Мы хотим разрешить нагрузочное тестирование без внесения IP-адресов в белый список, так как нагрузочный тест будет производиться динамическим c IP. В инструменте нагрузочного тестирования мы можем установить заголовок запроса, например
loadtester: true
В правилах перезаписи есть «входные» переменные, которые, если посмотреть на примеры, включают:
- REMOTE_ADDR
- HTTP_X_Forwarded_For
- HTTP_HOST
- REQUEST_FILENAME
- SERVER_PORT
- URL
- REQUEST_URI
1023 * Но я не могу найти ни одного для заголовков reqeuest. Это где-нибудь задокументировано?
Есть идеи, как бы мне проанализировать заголовки и проверить тот, который я ищу? Мы хотели бы разрешить трафик c с определенным заголовком c, даже если IP-адрес не включен в белый список.
пример извлечения из web.config:
<rule name="Whitelist sites" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{REMOTE_ADDR}" pattern="82\.7\.151\.45" negate="true"/>
<add input="{HTTP_X_Forwarded_For}" pattern="82\.7\.151\.45" negate="true"/>
</conditions>
<action type="CustomResponse" statusCode="403" statusReason="Forbidden" statusDescription="The requested site is not accessible" />
</rule>
</rules>
</rewrite>
</system.webServer>
Обновление: I нашел этот ресурс: https://www.w3schools.com/ASP/coll_servervariables.asp
В нем есть переменная с именем "HTTP_<HeaderName>"
Попробую!