http://www.hoge.com/
でRailsアプリを運用しているとして、http://www.hoge.com/blog
はWordPressのブログを表示したい、なんてことありますよね。普通はReverseProxyを使うと思うのですが、サーバサイドに設定をあまり持たせたくなかったり、そもそもHerokuで運用しているのでそういう設定をすること自体無理というケースがあります。そういうときはrack-reverse-proxyが使えそうです。
使い方
まずGemfileにGemを追加します。
gem "rack-reverse-proxy", require: "rack/reverse_proxy"
そしてapplication.rbに設定を足すだけ。
config.middleware.use Rack::ReverseProxy do reverse_proxy /^\/blog\/?(.*)\/?$/, 'http://0.0.0.0/$1' end
http://0.0.0.0/
という部分はあくまで例なので、この部分には実際にブログにアクセスできるURLを設定してください。$1
の部分に/blog/
以降のパスが入ることになります。
Railsアプリまでアクセスが到達する分、ブログ表示のパフォーマンスは落ちますが、それ以上にSEOを気にする、という場合にはこういう手も使えそうです。また、WordPress以外にもS3でホストしているWebページを表示するなど、いろいろな使い方ができそうです。