2012-06-26 8 views
0

다음은 시나리오입니다.IIS 7.5 ARR/URL ReWrite2 가상 컴퓨터의 Apache로 ReversProxy

서버는 IIS 7.5를 실행하는 Win2k8입니다. ARR 및 URL Rewrite2가 설치되어 있습니다.

나는 최신 우분투 서버를 실행하는 가상의 상자가 있습니다. Apache, mySQL, PHP가 모두 설치됩니다.

나는 리버스 프록시로 구성 IIS 있고, 설정을 같은 URL 재 작성이 : http://wp.o7t.in 그러나, 내가 제대로 VM에 아파치로 구성된 사이트로 연결됩니다 http://dev.o7t.in 것을 확인했다

<rewrite> 
     <rules> 
      <rule name="ReverseProxyInboundRule1" stopProcessing="false"> 
       <match url="(.*)" /> 
       <action type="Rewrite" url="http://192.168.1.17/{R:1}" /> 
      </rule> 
     </rules> 
    </rewrite> 

을 똑같은 장소로 이동합니다.

데브 :

# NameVirtualHost *:80 

<VirtualHost *> 
    ServerName devo7tin 
    ServerAlias dev.o7t.in 
    ServerAdmin [email protected] 
    DocumentRoot /var/www/dev/ 
    <Directory /> 
      Options FollowSymLinks 
      AllowOverride None 
    </Directory> 
    <Directory /var/www/dev/> 
      Options -Indexes FollowSymLinks MultiViews 
      AllowOverride None 
      Order allow,deny 
      allow from all 
    </Directory> 

</VirtualHost> 

WP :

# NameVirtualHost *:80 

<VirtualHost *> 
    ServerName wpo7tin 
    ServerAlias wp.o7t.in 
    ServerAdmin [email protected] 
    DocumentRoot /var/www/wordpress/ 
    <Directory /> 
      Options FollowSymLinks 
      AllowOverride None 
    </Directory> 
    <Directory /var/www/wordpress/> 
      Options -Indexes FollowSymLinks MultiViews 
      AllowOverride None 
      Order allow,deny 
      allow from all 
    </Directory> 

</VirtualHost> 

및 NameVirtualHost에서이 ports.conf에 이미 구성되어

은 내가 납니까 것은 여기 아파치에 두 사이트의 설정입니다 호스트 헤더는 항상 가상 시스템의 IP 주소 (이 경우 192.168.1.17)로 되돌아가 요청 된 호스트를 완전히 무시합니다.

그럼 ....이 문제를 어떻게 해결하고 내 VM에 올바른 HTTP_HOST 헤더를 전달할 수 있습니까?

답변

3

내가 옳았다. 그것은 HTTP_HOST 헤더를 보내지 않는 IIS 일이었습니다. 물론, 왜 그들이 어디를 게시 할 것입니다,하지만 분명히 기본 비활성화로 ARR 그러나, 그것은을 통해 활성화 할 수 있습니다

appcmd.exe set config -section:system.webServer/proxy /preserveHostHeader:"True" /commit:apphost 

이를 구성하고, 지금 작동한다!

+1

감사합니다. Appcmd는 "% windir % \ system32 \ inetsrv \"에 있습니다. – geekinit