У меня есть служба API REST, развернутая как служба приложений Azure, и я пытаюсь удалить заголовок сервера из ответа.
Я попытался добавить пользовательское исходящее правило в модуль перезаписи.
В web.config у меня есть
<rewrite>
<outboundRules>
<rule name="Change Server Header">
<match serverVariable="RESPONSE_Server" pattern=".+" />
<action type="Rewrite" value="My Server" />
</rule>
</outboundRules>
</rewrite>
Я также применил преобразование applicationHost.xdt к applicationHost.config, чтобы добавить переменную RESPONSE_Server
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<configSections>
<sectionGroup name="system.webServer" xdt:Locator="Match(name)">
<sectionGroup name="rewrite" xdt:Locator="Match(name)">
<section name="allowedServerVariables" overrideModeDefault="Allow" xdt:Locator="Match(name)" xdt:Transform="SetAttributes(overrideModeDefault)" />
</sectionGroup>
</sectionGroup>
</configSections>
<system.webServer>
<rewrite>
<allowedServerVariables>
<add name="RESPONSE_Server" xdt:Transform="InsertIfMissing" xdt:Locator="Match(name)" />
</allowedServerVariables>
</rewrite>
</system.webServer>
</configuration>
Но я все еще вижу HTTP-заголовок ответа сервера на запрос, подобный следующему, который возвращает код состояния HTTP 500
https://api.internaltest.com/%3a/
Правило перезаписи работает в локальном IIS, оно успешно удаляет заголовок http ... но не при выполнении этого в службе приложений Azure.
Пожалуйста, скажите мне, что мне не хватает.
Я упоминаю, что у меня также есть removeServerHeader = "true" в web.config, но он удаляет заголовок сервера только при 404 неправильных запросах, а не при 500 кодах состояния.
<security>
<requestFiltering removeServerHeader="true">
<requestLimits maxAllowedContentLength="2147483647" />
</requestFiltering>
</security>
Надеюсь, кто-нибудь может мне помочь,
Спасибо