我正在創建一個允許用戶使用他們自己的域名的應用程序。在我的Rails應用程序中使用什麼方法來自動註冊他們選擇的域名與Heroku?如果他們改變了,我也需要註銷它。如何使用Ruby代碼將域添加到Heroku應用程序?
回答
您通常使用的方式是add domains in Heroku正在使用Heroku API通過Heroku gem。 有一個叫做命令heroku domains:add
可以調用
$ heroku domains:add example.com
正如我前面所說的,客戶端調用的Heroku API。您可以從庫中提取Heroku Domain API信息,並創建一個調用Heroku API的自定義腳本,以便從您的應用程序添加和刪除域。
注意。因爲你是「逆向工程」,而且API似乎沒有記錄,所以你應該問Heroku有權這樣做,只是爲了確保你沒有針對他們的TOS創建一些東西。
寶石來自heroku並且是推薦的方法。我剛剛與Heroku聯繫了相同的問題,並且在那裏回覆:
您需要告訴Heroku有關域以及路由的位置。 CNAME告訴DNS如何將請求發送到Heroku。現在您必須告訴Heroku將其發送給哪個應用程序。您可以通過將域添加到您的應用程序來完成此操作在你的情況下,你需要運行「heroku域名:添加my.domain.com」到你的應用程序。您也可以通過我們的API從應用程序內部以編程方式執行此操作。有關如何連接和使用API的示例,請參閱Heroku gem(http://github.com/heroku/heroku)。
我已經聯繫Heroku同樣的事情,他們只是指着我their api,並表示可以這樣使用它。
恐怕沒有。 Our API僅由客戶代碼「記錄」。
您可以找到如何讓來自社區成員的意見以及我們的谷歌集團有幫助的:http://groups.google.com/group/heroku/
奧倫
下面是簡單的操作方法:
require 'heroku'
heroku = Heroku::Client.new('heroku_username', 'heroku_password')
heroku.add_domain('heroku_app_name', 'example.com')
heroku.remove_domain('heroku_app_name','example.com')
更多見the api 。
當然,我建議不要將明文密碼放入代碼中。你可以做的一件好事是使用heroku環境變量來讓你的密碼離開代碼。
heroku = Heroku::Client.new(ENV['HEROKU_USER'], ENV['HEROKU_PASSWORD'])
,然後你可以用
$> heroku config:add HEROKU_USER='heroku_username'
$> heroku config:add HEROKU_PASSWORD='heroku_password'
在命令行設置你的應用程序的環境變量。
heroku寶石現在已被棄用。您應該使用heroku.rb寶石。命令稍微改變了一點,但實質上是一樣的。
require 'heroku-api'
heroku = Heroku::API.new(:api_key => API_KEY) # use API Key
heroku = Heroku::API.new(:username => USERNAME, :password => PASSWORD) # use username and password
heroku = Heroku::API.new(:headers => {'User-Agent' => 'custom'}) # use custom header
heroku.delete_domain('app', 'example.com') # remove the 'example.com' domain from the 'app' app
heroku.get_domains('app') # list configured domains for the 'app' app
heroku.post_domain('app', 'example.com') # add 'example.com' domain to the 'app' app
- 1. 如何將頁面添加到使用Heroku開發的應用程序中?
- 2. 如何將Ruby博客添加到Rails 3應用程序
- 3. 如何將子域添加到Azure Web應用程序?
- 4. 如何使用Python遷移將Heroku Django應用程序的新模型表添加到遠程Heroku Postgres?
- 5. 將Heroku應用程序部署到Heroku
- 6. 將代碼添加到WPF應用程序的DLL
- 7. 將未編譯的源代碼添加到iOS應用程序
- 8. 將區域添加到MVC應用程序 - 任何陷阱?
- 9. 如何使用Gulp將Express添加到React應用程序?
- 10. 如何將httpmodule代碼塊添加到我的asp.net web應用程序中?
- 11. 示例代碼顯示如何將漸變色添加到iPhone應用程序
- 12. 將DLL添加到程序代碼
- 13. 將用戶添加到應用程序
- 14. 如何將HTTP身份驗證添加到基於PHP的Heroku應用程序?
- 15. 使用jQuery將CSS代碼添加到*
- 16. 如何在Visual Basic應用程序中添加t-sql代碼
- 17. 如何在Heroku上部署非縮小代碼應用程序?
- 18. 如何從Heroku下載我的應用程序的源代碼?
- 19. 如何將root域指向heroku應用
- 20. 將Ionic應用程序添加到Rails 4應用程序
- 21. 將AdMob添加到應用程序
- 22. Erlang:將庫添加到應用程序
- 23. 將圖標添加到應用程序
- 24. 將應用程序添加到頁面
- 25. 將ACL添加到CakePHP應用程序
- 26. 將應用程序添加到Azure AD
- 27. 將應用程序添加到啓動
- 28. 將UINavigationController添加到應用程序
- 29. 將jquery添加到Facebook應用程序
- 30. 將應用程序添加到Django
謝謝西蒙娜。那麼沒有文件記錄的方法可以合法地做到這一點? – 2010-10-19 08:08:54
老實說,我不認爲這種方式是「非法」的,因爲你沒有反編譯任何東西。順便說一句,你應該聯繫Heroku,確保它可以完成。 – 2010-10-19 09:17:29
無需擔心,Heroku支持使用API,例如,他們提到使用它來[在文檔中更改您的dynos數量](http://docs.heroku.com/faq-product-features#how-does -dyno放大器工人縮放工作)。但是,API未來可能會發生變化。 – wuputah 2010-10-20 19:47:37