0

Azure Web ロールで実行されている Web サイトがあります。サイトを asafaweb.com に対してテストしたところ、「過剰なヘッダー」という警告が表示されました。

asafaweb.com のスクリーンショット

基本的に、Azure は IIS のバージョンと .net のバージョンをヘッダーの一部として送信します。

IIS でこれらのヘッダーをオフにする方法については多くの情報がありますが、Azure でそれらをオフにするにはどうすればよいですか?

4

3 に答える 3

3

これは、これらのヘッダーを非表示にするためにほとんどのプロジェクトで使用するものです。

Global.asax.cs (MVC プロジェクトにのみ適用)

protected void Application_Start()
{
    MvcHandler.DisableMvcResponseHeader = true;
}

カスタム HttpModule

public class RemoveHeadersHttpModule : IHttpModule
{
    public void Init(HttpApplication context)
    {
        context.PreSendRequestHeaders += OnPreSendRequestHeaders;
    }

    private void OnPreSendRequestHeaders(object sender, EventArgs e)
    {
        HttpContext.Current.Response.Headers.Remove("Server");
        HttpContext.Current.Response.Headers.Remove("X-AspNet-Version");
    }

    public void Dispose()
    {

    }
}

web.config

  <system.webServer>
    <httpProtocol>
      <customHeaders>
        <remove name="Server" />
        <remove name="X-Powered-By" />
      </customHeaders>
    </httpProtocol>

    <modules runAllManagedModulesForAllRequests="true">
      . . .
      <add name="RemoveHeadersHttpModule" type="MyNamespace.RemoveHeadersHttpModule"/>
    </modules>

    . . . 
  </system.webServer>
于 2012-08-01T03:48:29.250 に答える
2

カスタムHttpModuleを使用せずにCassiniでも機能する、 Azure上のすべての過剰なヘッダーを削除する完全なソリューションが必要な場合は、次を参照してください。

UrlScanを使用せずにAzure/IIS7で過剰なHTTP応答ヘッダーを削除/非表示/無効化する

于 2012-10-09T16:58:26.197 に答える
1

Windows Azure Webロールは、基本的にWindows Server 2008であり、IISが有効になっています。したがって、IISを調整する場合は、起動スクリプトを使用してappcmdを呼び出し、必要な設定を変更できます(または、通常の方法で操作できます)。スクリプトは次のようになります。

%windir%\system32\inetsrv\appcmd set ...

于 2012-08-01T02:17:47.477 に答える