Вы можете использовать гем rack-reverse-proxy , который обнаружил neezer для этого.Сначала вы захотите добавить gem "rack-reverse-proxy", :require => "rack/reverse_proxy"
в ваш Gemfile и запустить bundle install
.Затем вы измените свой config.ru
, чтобы перенаправить маршрут /blog/
в нужный блог:
require ::File.expand_path('../config/environment', __FILE__)
use Rack::ReverseProxy do
reverse_proxy /^\/blog(\/.*)$/, 'http://notch.tumblr.com$1', opts={:preserve_host => true}
end
run YourAppName::Application
Возможно, у вас уже есть первый оператор require и оператор run YourAppName...
.Есть пара важных деталей, которые делают эту работу.
Во-первых, когда вы добавляете желаемый URL-адрес блога, вы не можете оставить за ним косую черту.Если вы это сделаете, когда кто-то запросит http://yourdomain.com/blog/
, камень перенаправит их на http://you.yourbloghost.com//
с дополнительным косым слешем.
Во-вторых, если опция :preserve_host
не включена, ваш сервер хостинга блога увидит запрос как http://yourdomain.com/blog/
вместо http://you.yourbloghost.com
и выдаст неверные результаты.
У вас все еще могут быть проблемы с CSS или изображениями, если в блоге используется /absolute/paths/to/images/
.