hal*_*ley 5 rack reverse-proxy ruby-on-rails heroku
我想我已经过头了,无法弄清楚如何调试或从哪里开始?!! 任何指导将不胜感激!
问题:
目标:
让"www.site.com/blog"显示"blog.site.com"中的内容,而无需重定向/更改浏览器URL
建立
所以我无法访问服务器配置
途径
使用rack-reverse-proxy gem,如何使用子目录而不是子域?由jplewicke
履行
的Gemfile
gem "rack-reverse-proxy", :require => "rack/reverse_proxy"
Run Code Online (Sandbox Code Playgroud)
config.ru(在运行AppName :: Application 之前)
use Rack::ReverseProxy do
reverse_proxy(/^\/blog(\/.*)$/,'http://blog.site.com$1',
opts = {:preserve_host => true})
end
Run Code Online (Sandbox Code Playgroud)
配置/ routes.rb中
match "/blog" => redirect("/blog/")
Run Code Online (Sandbox Code Playgroud)
结果/问题
它在我的机器上开发效果很好,但是当我把它投入生产时它会超时.它不仅超时,而且之后整个应用程序被挂起或者其他东西,即每个请求都超时www.site.com(在尝试blog.site.com之前有效).大约5-10分钟后,www.site.com再次运作,但blog.site.com超时.
日志
2013-03-05 05:54:19 + 00:00应用web.1 - - 2013年开始获取66.108.140.26/cpe-66-108-140-26.nyc.res.rr.com获取"/资源" -03-05 05:54:19 +0000
2013-03-05 05:54:19 + 00:00 heroku router - - at = info method = GET path =/blog host = www.site.com fwd ="66.108.140.26/cpe-66-108-140- 26.nyc.res.rr.com"dyno = web.1 queue = 0 wait = 0ms connect = 1ms service = 7ms status = 301 bytes = 105
2013-03-05 05:54:49 + 00:00 heroku router - - at = error code = H12 desc ="Request timeout"method = GET path =/blog/host = www.site.com fwd ="66.108. 140.26/cpe-66-108-140-26.nyc.res.rr.com"dyno = web.1 queue = 0ms wait = 0ms connect = 2ms service = 30000ms status = 503 bytes = 0
调试
我试着在生产中打开调试......
配置/环境/ production.rb
config.consider_all_requests_local = true
config.log_level = :debug
Run Code Online (Sandbox Code Playgroud)
但没有什么真正只是一个通用,
应用程序错误...无法提供您的页面...再试一次....检查日志.
这是唯一有意义的,因为它在开发中起作用
关于该怎么做的任何建议或想法?谢谢!
我刚刚在 Rails 4 上设置了它。它正在使用以下命令在所有子目录上工作:
use Rack::ReverseProxy do
reverse_proxy_options preserve_host: true
reverse_proxy '/blog', 'http://grav.somedomain.net/'
end
Run Code Online (Sandbox Code Playgroud)
但当访问没有子目录的 /blog 时,它会响应永久重定向(301)。
要解决该问题,只需将 /blog 重写为 /blog/home 并确保在您的博客中添加此别名链接!
require 'rack/rewrite'
use Rack::Rewrite do
rewrite '/blog', '/blog/home'
end
Run Code Online (Sandbox Code Playgroud)
也许有人可以告诉我们这个假设是否正确:博客引擎经常在主页上进行重定向,这可能会破坏代理。
祝你玩得开心!
归档时间: |
|
查看次数: |
1128 次 |
最近记录: |