Share via


Windows Azure 웹 사이트에서 표준 서버 헤더를 제거하기

Windows Azure 웹 사이트에서 표준 서버 헤더를 제거

이 포스트는, 11 월 22 일에 게시된 Removing standard server headers on Windows Azure Web Sites 의 번역입니다.

편집메모 : 이번에는 Windows Azure 웹 사이트 팀의 프로그램 관리자를 맡고 있는 Erez Benari의 기사를 소개합니다.

웹 서버와 클라이언트 사이에서 실행되는 전체 HTTP 통신 내용에서 일부는 에서, 요청 및 응답에 HTTP 헤더를 사용하고 있습니다. 표준 웹 사이트에 웹 요청에 대한 응답에는 일반적으로 다음과 같은 헤더가 포함됩니다.

 

HTTP 헤더는 클라이언트와 서버 간의 통신에서 중요한 역할을 합니다. 헤더는 요청과 관련된 정보를 서버에 보내는 것으로, 본문의 일부가 아닙니다. 예를 들어, Content-Length 헤더는 브라우저에 전송된 본문의 길이를 나타내고, 또한 Cache-Control 헤더는 응답의 캐시 가능 여부를 나타냅니다.

많은 헤더 중에서도 특히 관심을 모으는 것이 2 가지가 있습니다. 요청을 처리 하는 웹 서버의 종류를 알려주는 헤더 및 서버의 속성을 알리는 헤더입니다. 이 헤더는 웹 서버에 의해 작성되지만 익명성을 유지 하기 위해 서버에서 이 정보를 전송 하는 것을 원치 않는 사용자가 많이 있습니다. 고객으로부터도 「 Windows Azure 웹 사이트에서 이 헤더를 사용할 수 있도록 해주었으면 한다 」 라는 의견이 제기된 적이 있기 때문에 Windows Azure 웹 사이트의 최신 버전에서는 이 작업을 수행했습니다.

여기에서 삭제하는 방법을 설명합니다.

헤더 제거 IIS의 요청 필터링 모듈에 의해 처리됩니다. 헤더를삭제하려면 다음 코드를 포함하여 web.config 파일을 저장합니다.

 

위의 코드에서 Server 헤더를 제거합니다. 또한,X-Powered-ByX-AspNet-Version 헤더를 제거하고 싶은 분도 많이 계실 것입니다. 이 2 개의 헤더는 web.config 파일에 아래의 부분을 추가해 주셔야 합니다. 먼저 X-Powered-By를 제거하려면 <system.webserver> 섹션에서 다음과 같이 설정합니다.

 

그리고 X-AspNet-Version를 제거하려면 <system.web> 섹션에서 다음과 같이 설정 합니다.

 

지금까지 설명한 모든 헤더를 제거하는 경우 web.config 파일은 다음과 같습니다.

 

또한, 귀하의 사이트에 이미 web.config 파일이 있는 경우에는 위의 설명에 따라 하나 또는 두 개의 요소를 포함하도록 파일의 내용을 변경 하시면 됩니다.