2015-10-19 105 views
1

我有一個使用API​​應用程序部署到Azure的ASP.net WebApi。要從最佳實踐的神祕列表中檢查另一個項目,我想從所有HTTP請求(x-powered-by,server,x-aspnet-version)中刪除標準服務器標頭。我的web.config位於下面,根據配置建議hereAzure API應用程序刪除標準服務器標頭

如果將我的應用程序部署到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應用程序的特定功能,則可以將Web API部署爲Web應用程序。

+0

嗨@Mohit我給了這個嘗試,編輯網關的web.config與上面通過KUDO發佈的一樣,但是當通過Fiddler查看請求時,標準頭文件仍然存在。我打算使用一些特定的API應用程序功能,因此,如果可能的話,我正在嘗試使用API​​應用程序而不是Web應用程序。 – BMac

相關問題