우리의 호스팅 환경에 새로운 웹 서버를 설치하려고합니다. 그것은 우리가 사용하게 될 새로운 VM입니다. 그래서 내가 원하는대로 (이유 안에서) 할 수 있습니다. IIS 7은 Windows 2008 R2에서 실행되고 ASP.Net 4.0은 시스템에 설치되어 있습니다.IIS 서버의 모든 사이트에 대해 공유 'system.webServer` 설정을 설정하는 방법
나는 확실히 그들이 명시 적으로 대체되지 않는 한, 다음 system.webServer
설정을 사용하기 위해 서버에 모든 사이트를 강제로 좋아하지만, Framework config folders (32 비트 모두 64 비트 버전의 Machine.config
or Web.config
파일에 추가 것) 어떤 효과가없는 것 같습니다.
내가 강제로하려는 설정은 다음과 같습니다. 나는이 설정이 개별 사이트의 Web.config
내에서 잘 작동한다는 것을 알고 있습니다. (내가 제작 사이트에서 복사/붙여 넣기했기 때문에) IIS URL Rewrite Module 2이 확실히 설치되었음을 압니다.
<system.webServer>
<httpProtocol>
<customHeaders>
<remove name="X-Powered-By"/>
</customHeaders>
</httpProtocol>
<staticContent>
<remove fileExtension=".air"/>
<remove fileExtension=".svg"/>
<remove fileExtension=".ttf"/>
<remove fileExtension=".otf"/>
<remove fileExtension=".woff"/>
<remove fileExtension=".eot"/>
<mimeMap fileExtension=".air" mimeType="application/vnd.adobe.air-application-installer-package+zip"/>
<mimeMap fileExtension=".svg" mimeType="image/svg+xml"/>
<mimeMap fileExtension=".ttf" mimeType="application/x-font-truetype"/>
<mimeMap fileExtension=".otf" mimeType="application/x-font-opentype"/>
<mimeMap fileExtension=".woff" mimeType="application/x-font-woff"/>
<mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject"/>
</staticContent>
<rewrite>
<outboundRules>
<rule name="Remove RESPONSE_Server">
<match serverVariable="RESPONSE_Server" pattern=".+"/>
<action type="Rewrite" value=""/>
</rule>
</outboundRules>
</rewrite>
</system.webServer>
이 설정은 X-Powered-By:
HTTP 헤더가 존재하고 Server:
헤더가 비어 있음을 의미한다,하지만이를 테스트 할 때, 나는 다음과 같은 얻을 :
[12:35:56] [email protected]:~$ curl -I http://new.server.ip
HTTP/1.1 200 OK
Content-Length: 689
Content-Type: text/html
Last-Modified: Mon, 13 May 2013 15:11:24 GMT
Accept-Ranges: bytes
ETag: "2ce2122ec4fce1:0"
Server: Microsoft-IIS/7.5
X-Powered-By: ASP.NET
Date: Tue, 14 May 2013 11:36:16 GMT
내가 뭔가를 분명 실종? system.webServer
섹션을 기본 구성 파일에서 상속받을 수 없습니까?
ALL_CAPS에서 사용해 보시겠습니까? ServerVariables는 일반적으로 모두 대문자입니다. –
Nah, 발췌 부분은 문제가되지 않습니다. 제가 질문에서 언급했듯이, 이것은 내가 다른 곳에서 일하는 것을 알고있는 구성 발췌 부분입니다. (그리고 헤더, 우리가 ASP 또는 ASP.Net에서 액세스 할 때 HTTP의 ALL_CAPS되지 않습니다.) –