Ich habe eine Rails-Anwendung mit zwei Sub-Domains als solche konfiguriert in routes.rbMit Schienen Domain Constraints mit Heroku Subdomains
Rails.application.routes.draw do
constraints subdomain: 'admin' do
devise_for :admin_users, ActiveAdmin::Devise.config
ActiveAdmin.routes(self)
end
namespace :api, defaults: { format: :json },
constraints: { subdomain: 'api' }, path: '/' do
scope module: :v1,
constraints: ApiConstraints.new(version: 1, default: true) do
resources :countries, only: [:show, :index]
end
end
end
Das perfekt lokal arbeitet. Mein /etc/hosts sieht aus wie
admin.localhost.local localhost
api.localhost.local localhost
Aber wenn es darum geht, diese in Heroku zu konfigurieren, die Dinge nicht so sollte.
konfiguriert ich meine DNS und die benutzerdefinierten Domain Heroku so sein:
admin.my_project.my_domain.com -> admin.my_project.my_domain.com.herokudns.com
api.my_project.my_domain.com -> api.my_project.my_domain.com.herokudns.com
Aber wenn ich Zugang http://admin.my_project.my_domain.com Ich erhalte eine Routing-Fehler
Und die Protokolle haben dies:
heroku[router]: at=info method=GET path="/" host=admin.my_project.my_domain.com request_id=XXX fwd="IP.IP.IP.IP" dyno=web.1 connect=0ms service=3ms status=404 bytes=1744 protocol=http
app[web.1]: INFO -- : Started GET "/" for IP.IP.IP.IP at 2017-03-14
app[web.1]: FATAL -- : ActionController::RoutingError (No route matches [GET] "/"):
Das bedeutet, dass wenn Rails die Anfrage erhält, nicht weiß, dass es ist kommt aus einer Subdomain.
Wie kann ich das schaffen? Danke