2015-10-19 4 views
1

У меня есть ASP.net WebApi, развернутый до azure с помощью API-приложений. Чтобы проверить другой элемент из мистического списка, который является наилучшей практикой, я хотел бы удалить стандартные заголовки серверов из всех HTTP-запросов (x-powered by, server, x-aspnet-version). Мой web.config ниже согласно предложенной конфигурации hereПриложения API Azure, удаляющие стандартные заголовки серверов

При развертывании моего приложения в Azure Web App заголовки успешно удаляются. Тем не менее, похоже, что повторение одного и того же развертывания для Azure API APP не соответствует стандартной конфигурации web.config для этого, и заголовки выше все еще присутствуют во всех HTTP-запросах.

Кто-нибудь знает, если это еще не подтверждено, или если есть альтернативный способ сделать это? Я могу только думать, что шлюз или другое устройство не уважает удаление.

<configuration> 
    <system.web> 
    <compilation debug="true" targetFramework="4.5.2" /> 
    <httpRuntime enableVersionHeader="false" /> 
    </system.web> 
    <system.webServer> 
    <handlers> 
     <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> 
     <remove name="OPTIONSVerbHandler" /> 
     <remove name="TRACEVerbHandler" /> 
     <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> 
    </handlers> 
    <security> 
     <requestFiltering removeServerHeader ="true"></requestFiltering> 
    </security> 
    <httpProtocol> 
     <customHeaders> 
     <clear /> 
     <remove name="X-Powered-By"/> 
     </customHeaders> 
    </httpProtocol> 
    </system.webServer> 
    <runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" /> 
     <bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" /> 
     </dependentAssembly> 
    </assemblyBinding> 
    </runtime> 
</configuration> 

ответ

1

Мы рассматриваем это и будет ее исправить. Тем временем вы можете перейти к настройкам приложения для шлюза и изменить его web.config. Шаги:

  1. Перейдите к YOURGATEWAYNAME.scm.azurewebsites.net
  2. Перейдите на сайт \ Wwwroot
  3. Выделите web.config и нажмите кнопку редактирования влево. Вы сможете отредактировать этот файл.

В качестве альтернативы, если вы не используете какие-либо функции API Apps, вы можете развернуть свой веб-API в качестве веб-приложения.

+0

Привет @Mohit Я попробовал попробовать, отредактировав web.config шлюза, чтобы он был таким же, как и выше, через KUDO, однако стандартные заголовки все еще присутствуют при просмотре запросов через Fiddler. Я планирую использовать некоторые специфические функции API-приложений, поэтому, если это вообще возможно, я пытаюсь заставить это работать с приложениями API вместо веб-приложений. – BMac