Reverse Proxy, um Rails Engine montável com Apache

Semana passada eu tive que descobrir como fazer proxy de um motor Rails montado com o Apache.

Para fazer isso, você terá que conectar corretamente mod_proxye mod_proxy_html:

<VirtualHost *:80>
ServerName www.example.com


ProxyPreserveHost Off


RewriteEngine On

RewriteRule ^(?:/app)?/assets/swf/(.*) http://app.example.com/assets/swf/$1 [P]


RedirectMatch /engine-name(.*) http://www.example.com/app$1


<Location /app>
ProxyPass http://app.example.com/engine-name

ProxyPassReverse http://app.example.com/engine-name

SetOutputFilter proxy-html

ProxyHTMLDocType "
<!DOCTYPE html>"
ProxyHTMLURLMap ^/assets http://app.example.com/assets R

ProxyHTMLURLMap ^/system http://app.example.com/system R

ProxyHTMLURLMap /engine-name/ /app/

RequestHeader unset Accept-Encoding

Order allow,deny

Allow from all

</Location>
</VirtualHost>

Detalhes sobre as intenções por trás de todas essas diretivas podem ser encontrados em uma postagem do blog .