Usamos a maior parte do tempo para fazer proxy reverso do servidor front-end Apache ou Nginx.
Até recentemente, eu não sabia que poderíamos fazer isso também com o Rack.
Por quê ?
Imagine que você tenha que migrar páginas estáticas de seu aplicativo rails para outro host, como o que acontece para Codeship neste post que decidiu migrar sua documentação no Amazon S3.
Como ?
Por apenas 4 linhas de código em seu config.ru
require 'rack/reverse_proxy'
use Rack::ReverseProxy do
reverse_proxy /^/documentation/?(.*)$/, 'http://path-to-your-host/$1'
end
$ 1 é o caminho da página extraído do url original
Toda vez que alguém aponta para / documentation, seu aplicativo Rails devolve conteúdo estático do host de páginas estáticas, certo?
Tenho certeza de que vou usar essa técnica para meu próximo SaaS!