Правило перезаписи RESPONSE_SERVER не работает для всех заголовков ответов - PullRequest
0 голосов
/ 30 января 2019

У меня есть веб-сайт asp.net под названием Home, работающий в IIS, и я добавил правило URL перезаписи для изменения тега сервера в заголовке ответа на Mine.Это работает только для некоторых ответов, а не для всех.

Например: https://myDomain/Home/Default.aspx работает.(Сервер: мой) Но https://myDomain/Home/ не работает (Сервер: Microsoft ...)

Код моего правила, который можно найти в C: \ Windows \ System32 \ inetsrv \ config \applicationHost.config:

<rewrite>
        <allowedServerVariables>
            <add name="RESPONSE_SERVER" />
        </allowedServerVariables>
        <globalRules>
            <rule name="Remove Server">
                <match url=".*" />
                <serverVariables>
                    <set name="RESPONSE_SERVER" value="Mine" />
                </serverVariables>
                <action type="None" />
                <conditions>
                </conditions>
            </rule>
        </globalRules>
    </rewrite>

Я удаляю версию сервера по соображениям безопасности, но если она не работает для всех ответов, она определяет точку.

1 Ответ

0 голосов
/ 31 января 2019

Насколько я знаю, если вы хотите изменить значение заголовка ответа.Я предлагаю вам попробовать использовать правило перезаписи URL вместо обычного правила.

Пожалуйста, добавьте правило ниже в файле application.host:

<rewrite>

    <allowedServerVariables>
        <add name="RESPONSE_SERVER" />
    </allowedServerVariables>
    <outboundRules>
        <rule name="ModifyServer">
            <match serverVariable="RESPONSE_SERVER" pattern=".*" />
            <action type="Rewrite" value="Mine" />
        </rule>
    </outboundRules>
</rewrite>
...