2017-11-29 7 views
1

Webサーバーの応答でIISバージョンを非表示にしたいとします。私はURLRewriteでこれをやろうとしています。SERVER_SOFTWAREとURLRewrite

私のweb.configファイルはそうのようになります。

<rewrite> 
     <outboundRules> 
      <rule name="RewriteServerSoftware" stopProcessing="true"> 
       <match serverVariable="SERVER_SOFTWARE" pattern="." /> 
       <action type="Rewrite" value="MyServer" replace="true" /> 
      </rule> 
     </outboundRules> 
    </rewrite> 

しかしこれはServer:Microsoft-IIS/8.0の値を削除していないようです。私は何が欠けていますか?

私の環境では、Windows Server 2012 R2で、8.0をIIS、正しいサーバー変数名があるASP.NETのWebサイト

答えて

0

をホスティング:RESPONSE_ ヘッダ名形式を次のRESPONSE_Server

だからあなたの設定は次のようになります。

<rewrite> 
     <outboundRules> 
      <rule name="RewriteServerSoftware" stopProcessing="true"> 
       <match serverVariable="RESPONSE_Server" pattern=".+" /> 
       <action type="Rewrite" value="MyServer" replace="true" /> 
      </rule> 
     </outboundRules> 
    </rewrite> 

注意すべき1つの追加の事はあなたがIIS 10.0を使用している場合、あなたもあなたのweb.configファイルに以下を追加する必要があるかもしれないということです。

<system.webServer> 
    <security> 
     <requestFiltering removeServerHeader="true" /> 
    </security> 
    </system.webServer> 

私のケースでは、IIS 10.0では、URL-RewriteremoveServerHeaderの両方を使用しています。

詳細情報:https://docs.microsoft.com/en-us/iis/configuration/system.webserver/security/requestfiltering/

関連する問題