0

我在我的 Padrino配置中使用子域。我在 AWS Route 53 中创建了多个 A 记录,以路由到 api.myapp.com 和 admin.myapp.com、myapp.com、www.myapp.com 等内容。这按预期工作。这是我的配置:

Padrino.mount('MyApp::App', :app_file => Padrino.root('app/app.rb')).host('api.myapp.com')
Padrino.mount('MyApp::Manager', :app_file => Padrino.root('manager/app.rb')).host('manager.myapp.com')
Padrino.mount("MyApp::Admin", :app_file => File.expand_path('../../admin/app.rb', __FILE__)).host("admin.myapp.com")
Padrino.mount('MyApp::Web', :app_file => Padrino.root('web/app.rb')).to('/')

出于这个问题的目的,我已将真实名称替换为“myapp”。问题是当我尝试在我的本地主机上访问这些子域时。它一直路由到 web/app.rb(它只是在'/')。我试着改变我/etc/hosts的:

127.0.0.1       localhost
127.0.0.1       manager.myapp.com
127.0.0.1       api.myapp.com
127.0.0.1       admin.myapp.com

然后,当我尝试点击时manager.myapp.com:3000,它会路由到作为根域 (MyApp::Web) 服务的内容。为什么会这样?

4

1 回答 1

0

我进行了一些配置更改config/apps.rb以使用特定的子域,无论它是在本地部署还是在本地运行。然后我/etc/hosts用以下值更新了我的:

127.0.0.1       manager.localhost manager
127.0.0.1       api.localhost api
127.0.0.1       admin.localhost admin

但这并不意味着什么。问题是我在端口 3000 上运行,这些值没有说明。由于我已经通过战斗/etc/hosts(并且希望得到一些指导),我只是在端口 80 上运行我的本地服务器并且一切正常。

于 2013-07-16T02:09:30.130 回答