1

API アプリを使用して Azure にデプロイされた ASP.net WebApi があります。ベスト プラクティスである神秘的なリストから別の項目を確認するために、すべての HTTP 要求 (x-powered-by、server、x-aspnet-version) から標準サーバー ヘッダーを削除したいと思います。私のweb.configは、ここで提案されている構成に従って以下にあります

アプリケーションを Azure Web アプリにデプロイすると、ヘッダーが正常に削除されます。ただし、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>
4

1 に答える 1

1

これについては調査中であり、修正される予定です。それまでの間、ゲートウェイのアプリ設定に移動して、その web.config を変更できる場合があります。手順:

  1. YOURGATEWAYNAME.scm.azurewebsites.net に移動します。
  2. サイト\wwwroot に移動します
  3. web.config までスクロールし、左側の編集ボタンをクリックします。このファイルを編集できるようになります。

または、API アプリ固有の機能を使用していない場合は、Web API を Web アプリとしてデプロイできます。

于 2015-10-20T00:30:00.557 に答える