나는 Passenger Standalone에 대한 역방향 프록시를 통해 Rails 3.x와 Rails 2.x를 제공하는 Apache/Passenger 콤보를 제공합니다. 제가 이러는 이유는 Rails 2.x가 Apache/Passenger에서 사용하는 Ruby보다 이전 버전의 Ruby를 사용하기 때문입니다.Apache Reverse Proxy가 특정 파일 유형을 제외 할 수 있습니까?
그러나 Passenger Standalone이 지원할 수없는 Rails 2.x 앱에는 약간의 PHP가 있습니다. (Hongli Lai가 승객 토론 그룹에서 확인). Hongli는 Reverse Proxy에서 'php'비트를 제외 할 것을 제안합니다.
이렇게 할 수 있습니까? 그렇다면 어떻게 할 수 있습니까?
편집 역방향 프록시가 설정 한 방법을 보여줍니다 :
<VirtualHost *:80>
ServerName gtt
DocumentRoot /home/purvez/www/gtt/public
RailsEnv development
PassengerEnabled off
ProxyPass/http://127.0.0.1:3000/
ProxyPassReverse/http://127.0.0.1:3000/
</VirtualHost>
일반 사이트가 설정 한 또한 방법 :
<VirtualHost *:80>
ServerName testapp
DocumentRoot /home/purvez/www/testapp/public
RailsEnv development
</VirtualHost>
이제 내가 좋아하는 답변입니다! 매우 감사합니다. 내 지식을 위해서 ProxyPassMatch가 실제로 수행 한 이후의 문자를 설명해 주시겠습니까? RegExs라고 추측하고 있지만 완전히 확신 할 수는 없습니다. 다시 한번 감사드립니다. – nexar
@nexar : [apache docs] (http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypassmatch)는 나보다 더 잘 설명 할 수 있습니다. –