在本地计算机上以生产模式运行访问heroku

时间:2016-05-05 01:20:53

标签: ruby-on-rails google-chrome heroku puma

我正在尝试使用puma在我的本地计算机上以生产模式运行。如果我输入

rails server -e production

服务器启动并显示消息

Puma 2.16.0 starting...
* Min threads: 0, max threads: 16
* Environment: production
* Listening on tcp://localhost:3000

当我输入浏览器(chrome或safari)时,

http://localhost:3000

而不是访问本地服务器,它转到heroku上的真实生产站点。我尝试清除浏览器缓存,它仍然是Heroku。我该如何解决这个问题?

请注意,如果我停止服务器并在开发模式下运行,浏览器仍会转到Heroku,但如果我清除浏览器缓存,它会再次转到本地服务器。

1 个答案:

答案 0 :(得分:0)

事实证明我在初始化程序中有以下代码

MyApp::Application.config.middleware.insert_before(Rack::Runtime, Rack::Rewrite) do
  r301 /.*/, 'http://www.myapp.com$&', if: proc {|rack_env|
    rack_env['SERVER_NAME'] != 'www.myapp.com'
  }
end if Rails.env == 'production'

用于裸域的重定向。如果我为本地计算机关闭此功能,rails s -e production会正确指向本地主机。