다음 변경 사항을 통해 사용자 지정 HttpModule 을 작성 하지 않고도 Azure에서 이러한 HTTP 응답 헤더를 제거 할 수 있습니다.
인터넷에있는 대부분의 정보는 오래되었으며 UrlScan (이후 IIS7에 통합되었지만 RemoveServerHeader=1
옵션이 제거됨)과 관련됩니다. 아래는 내가 찾은 가장 좋은 솔루션입니다 ( 이 블로그 , 이 답변 및 이 블로그를 결합한 덕분에 ).
Server 를 제거하려면 Global.asax로 이동하여 Application_PreSendRequestHeaders
이벤트를 찾아서 생성 한 후 다음을 추가합니다 ( BK 및 이 블로그 덕분 에 Cassini / 로컬 개발자에서도 실패하지 않음).
2014 년 4 월 편집 : PreSendRequestHeaders 및 PreSendRequestContext 이벤트를 네이티브 IIS 모듈과 함께 사용할 수 있지만 IHttpModule을 구현하는 관리되는 모듈에는 사용하지 마십시오. 이러한 속성을 설정하면 비동기 요청에 문제가 발생할 수 있습니다 . 올바른 버전은 BeginRequest 이벤트를 사용하는 것입니다.
protected void Application_BeginRequest(object sender, EventArgs e)
{
var application = sender as HttpApplication;
if (application != null && application.Context != null)
{
application.Context.Response.Headers.Remove("Server");
}
}
X-AspNet-Version 을 제거하려면 web.config에서 찾기 / 만들고 <system.web>
추가합니다.
<system.web>
<httpRuntime enableVersionHeader="false" />
...
X-AspNetMvc-Version 을 제거하려면 Global.asax로 이동하여 Application_Start
이벤트를 찾고 / 만들고 다음과 같이 줄을 추가합니다.
protected void Application_Start()
{
MvcHandler.DisableMvcResponseHeader = true;
}
X-Powered-By 를 제거하려면 web.config에서 다음을 찾아 생성 <system.webServer>
하고 추가합니다.
<system.webServer>
<httpProtocol>
<customHeaders>
<remove name="X-Powered-By" />
</customHeaders>
</httpProtocol>
...