我在www.example.com的服务器上运行着Rails应用程序,并且一切正常。现在,我想在test.example.com上部署相同的应用程序以进行测试。
问题是我的应用程序在我的config / routes.rb中注册了两个子域:
constraints subdomain: 'admin' do
some routes
end
constraints subdomain: 'api' do
some other routes
end
我在Nginx上使用Passenger(独立),如下所示:
server {
listen 80;
listen 443;
server_name *.test.example.com;
passenger_enabled on;
passenger_app_env testing;
passenger_ruby /usr/local/rbenv/shims/ruby;
root /app_test/public;
}
但是,这不符合我的预期。似乎我的应用程序正在test.example.com的所有子域中提供服务,因此,如果我向api.test.example.com发出请求,则返回的页面(索引)就好像我将其发送到test.example.com ,而admin.test.example.com也是如此。
我已经在这里和互联网上阅读了多篇文章,但是我认为我的问题与拥有子域而不是suburis以及在子域上工作有关,这是我迄今为止注意到的唯一区别。 Nginx和Passenger可以进行此设置吗?