서브 디렉토리가있는 Apache VirtualHost 프록시


13

현재 우리는 IIS 서버를 기본 웹 서버로 사용합니다. 우리는 대신에 Apache 서버를 구현하고 있지만 여전히 IIS 서버에 액세스 할 수 있어야합니다. Apache2가이 서버에 서브 도메인을 프록시 할 수 있기 때문에 이는 일반적으로 간단한 것입니다.

그러나 우리의 문제는 IIS 서버에서 dotnetCharting을 사용하고 있으며 라이센스는 도메인 이름과 관련되어 있다는 것입니다. dotnetCharting을 사용하려면 다른 라이센스를 구입해야합니다.

내 질문은 Apache2 프록시가 하위 디렉토리 일 수 있습니까? 예를 들어 'www.example.com/subdir'은 IIS 서버를 가리킬 수 있습니까? 불가능해서는 안되는 것처럼 보이지만 이에 대한 해결책을 찾지 못하는 것 같습니다.

답변:


19

확실한. 그러나 조심하십시오. 많은 웹 응용 프로그램은 URL 경로가 변경되도록 설계되지 않았습니다. 응용 프로그램이 현재 서브 디렉토리에서 사용됩니까?

# You'll probably want this to maintain the host mapping in IIS
ProxyPreserveHost On
# Swap in the IP address or internal host name of your IIS server:
ProxyPass /subdir/ http://192.0.2.100/subdir/

또는 URL 경로를 변경하는 경우 리소스 (CSS, javascript, 이미지)의 절대 경로로 인해 많은 응용 프로그램에서이 문제가 발생할 수 있습니다.

ProxyPass /subdir/ http://192.0.2.100/
ProxyPassReverse /subdir/ http://192.0.2.100/

완전한! 그것은 내 테스트 환경에서 트릭을 수행했습니다. 현재 내부적으로 서버의 IP 주소를 입력하고 내부 프록시를 사용하여 서버에 연결할 수 있으며 모든 것 (dotnetcharting 제외)이 완벽하게 작동 하므로이 방법으로 프록시 할 때 응용 프로그램이 실패하지 않을 것으로 예상됩니다. 매우 감사!
SuperJer

1
나는 후행을 떠나야했습니다 /에서 subdir(이 같은 /subdir). 그렇지 않으면 domain.com/subdir응용 프로그램 오류 (500)가 발생합니다. 슬래시가 포함되어 있으면 제대로 프록시 domain.com/subdir/되지만 ( ), 이것이 내가 찾던 효과가 아닙니다.
OneHoopyFrood 2016 년

2

확실한.

  1. mod_proxy 활성화 mod_proxy_http
  2. Apache VHost에서 다음 명령을 설정하십시오.

    ProxyPass /subdir http://iis.server/.../
    ProxyPassReverse /subdir http://iis.server/.../
    

마지막 "/"는 필수입니다.

자세한 정보 : http://httpd.apache.org/docs/2.2/mod/mod_proxy.html


0

마지막 슬래시는 필수가 아닙니다. 나는 이렇게 설정했다

ProxyPass /dir http://exmpale.com/dir/ 

ProxyPassReverse /dir http://exmpale.com/dir/ 

최상위 레벨은 효과가 있었지만 메인 디렉토리 아래의 하위 디렉토리에 들어간 것은 그렇지 않았습니다.

나는 이것을 이것으로 바꾸었고 모든 것이 효과가있었습니다.

잘못된 정보 감사합니다 !!!

ProxyPass /dir http://exmpale.com/dir

ProxyPassReverse /dir http://exmpale.com/dir

1
사람들은 왜 이것을 다운 피트합니까? 내가 가진 문제였습니다. 슬래시로 두 URL을 끝내거나 슬래시없이 두 URL을 남겨 두어야합니다 .... 하위 디렉토리에 왔을 때 도움이되었습니다.)
Jannik
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.