TorqueBox で複数の Rails アプリケーションを実行しています。localhost:8080/app1
各アプリケーションは、localhost:8080/app2
(TorqueBox を介して構成された)など、異なる Web コンテキストにマウントされます。Apache は、仮想ホストapp1.domain.com
との間の要求を受け入れるように構成されています。app2.domain.com
ただし、一部のアプリケーション パス (フォーム送信パスなど) の前に/app1
、たとえば、http://app1.domain.com/app1/rest/of/path
正しい ではなく が必要になるという問題が発生していますhttp://app1.domain.com/rest/of/path
。
へのリクエストhttp://app1.domain.com/app1/...
が正しいパス (つまり、先頭の/app1
. リダイレクトでこれを試してみましたが、GET 要求が強制され、その過程で POST データが失われるため、うまくいきません。
これは私の現在のApache構成です:
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so
ProxyRequests Off
ProxyPreserveHost On
NameVirtualHost *:80
<VirtualHost *:80> # There are multiple vhosts like this one, for different apps.
ServerName app1.domain.com
ProxyPass / http://127.0.0.1:8080/app1/
ProxyPassReverse / http://127.0.0.1:8080/app1/
</VirtualHost>