2017-11-29 22 views
1

웹 서버 응답에서 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이며 ASP.NET 웹 사이트를 호스팅, 8.0 IIS

답변

0

올바른 서버 변수 이름은 다음 RESPONSE_ 에 HeaderName 형식을 다음과 RESPONSE_Server.

그래서 당신의 설정은 다음과 같아야합니다

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

주의 할 추가 것은 당신이 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/