這實在是兩個問題。 所以我想我會這樣回答。
我該如何讓客戶將自定義域添加到我的基於heroku的應用程序?
所以,在你的榜樣,他們的域名是www.user1.com
有兩件事情需要發生
www.user1.com
需要被添加到您的Heroku領域的應用
- 的DNS進行
www.user1.com
需要設置爲heroku服務器
爲了添加這個新的domai n,我猜你需要將自定義域名存儲在應用程序 中,並且在更改或創建時,確保已設置排隊任務以將此配置更改推送到heroku。
爲了正確使用dns,我希望他們爲user1.app.com
添加CNAME
就足夠了。 因此,如果您有一個通配符CNAME鏈接到heroku的dns,則可以避免Heroku再次獲得DOS-ed時可能發生的停機類型。
如何顯示基於域的內容而不僅僅是子域?
好,不知爲何,你已經區分user1.app.com
從user2.app.com
也許你只是嗅了嗅request.host
。 現在您只需先嚐試自定義域。
也許這會工作。
before_filter :set_client
def set_client
@client = Client.find_by_custom_domain(request.host) || Client.find_by_subdomain(request.host.split(".").first)
unless @client
raise "unrecognised domain #{request.host}"
end
end
如果用戶的域名已經註冊到另一個heroku應用程序,這是不可能的權利? – stuartchaney 2014-10-08 16:37:58