IIS7 응용 프로그램 요청 라우팅을 사용하여 헤더 수정
-
12-09-2019 - |
문제
Tomcat 앞에서 IIS7 응용 프로그램 요청 라우팅을 ISAPI 리디렉션 대체로 사용하고 있습니다. 기본 리버스 프록시 함수는 잘 작동하지만 최종 요청 헤더에 충분한 정보가 없습니다. 내 응용 프로그램은 CustomerOne.ourservice.com, customertwo.ourservice.com 등 여러 하위 도메인에 존재합니다. 각 하위 도메인은 동일한 응용 프로그램을 실행하지만 다른 브랜딩 그래픽을 사용합니다.
응용 프로그램은 현재 호스트 헤더를 검토하여 어떤 브랜딩을 표시할지 알려줍니다. IIS7 리버스 프록시를 사용하면 해당 정보가 손실됩니다. 내 헤더는 이제 다음과 같습니다.
accept = text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
accept-charset = ISO-8859-1,utf-8;q=0.7,*;q=0.7
accept-encoding = gzip,deflate
accept-language = en-gb,en;q=0.7,en-us;q=0.3
cookie = JSESSIONID=......
host = 127.0.0.1:8080
max-forwards = 10
user-agent = Mozilla/5.0 (X11; U; Linux x86_64; en-GB; rv:1.9.0.15) Gecko/2009102815 Ubuntu/9.04 (jaunty) Firefox/3.0.15
x-original-url = /
x-forwarded-for = [iis7ip]:47567
x-arr-log-id = affbf81c-a5cf-4212-a43b-901cd9adcee6
connection = Keep-Alive
리버스 프록시가 전달한 요청 헤더에 원래 호스트 헤더를 삽입 할 수있는 방법이 있습니까?
해결책
애플리케이션 요청 라우팅에는 원래 호스트 헤더 (PreserveHostheader)를 보존 할 수있는 옵션이 있습니다. 이 옵션은 기본적으로 false입니다. 다음과 같이 활성화 할 수 있습니다.
"C:\Windows\System32\inetsrv\appcmd.exe" set config -section:system.webServer/proxy /preserveHostHeader:"True" /commit:apphost
제휴하지 않습니다 StackOverflow