2013-07-16 230 views
0

我在我的Padrino configuration內使用子域。我在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的::網絡)。這是爲什麼發生?

回答

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上運行我的本地服務器,並且一切正常。

+0

使用該配置訪問'http://admin.myapp.com:3000',它應該可以工作。 –