Padrino構成内でサブドメインを使用しています。api.myapp.com & admin.myapp.com、myapp.com、www.myapp.com などにルーティングするために、AWS Route 53 に複数の A レコードを作成しました。これは期待どおりに機能しています。私の構成は次のようになります。
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) として提供されているものにルーティングされます。なぜこうなった?