Rails Rodando Com Apache usando Mod_Proxy e mod_rewrite
Esta eu com um belo problema, fazer o deployment de uma aplicação escrita em Rails em um Fedora3, solução usando 2 servidores HTTP:
- Mongrel
- Apache
Ai veio outro problema, já existe um site rodando no apache e vai ser mantido várias partes dele, mas outras vão ser substituídas pelas páginas rodando no mongrel, isso é, eu queria continuar com a mesma base de URL para o Mongrel e para o APACHE, se fosse um arquivo que exista no servidor apache, o apache serve, se não ele passa para o Mongrel, solução: .htaccess, mod_proxy e mod_rewrite
Vi algumas outras soluções mas nenhuma tão bem elegante quanto essa:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) http://localhost:3000/$1 [P]
Pronto, ele passa o que não existe (!-f) para o servidor Mongrel que já está rodando em outra porta ([P]). Me surpreendi, não esperava que fosse tão fácil assim. Parte dessa solução vi aqui.
O ruim é que não sei se dá para usar com o mongrel clustes, mas isso vejo depois…