运行 在本地机器上的生产模式下访问 heroku
running in production mode on local machine accesses heroku
我正尝试使用 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,但如果我清除浏览器缓存,它会再次转到本地服务器。
原来我在初始化程序中有以下代码
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
会正确定向到本地主机。
我正尝试使用 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,但如果我清除浏览器缓存,它会再次转到本地服务器。
原来我在初始化程序中有以下代码
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
会正确定向到本地主机。