Estoy creando una aplicación que permite a los usuarios usar su propio dominio. ¿Qué método utilizo en mi aplicación Rails para registrar automáticamente su dominio elegido con Heroku? También necesitaré anular el registro si lo cambian.¿Cómo agrego dominios a la aplicación Heroku usando el código de Ruby?
Respuesta
La forma en que normalmente add domains in Heroku está utilizando la API de Heroku a través del Heroku gem. Hay un comando llamado heroku domains:add
puede invocar
$ heroku domains:add example.com
Como he dicho antes, el cliente llama a la API de Heroku. Puede extraer la información de la API de dominio de Heroku de la biblioteca y crear una secuencia de comandos personalizada que llame a la API de Heroku para agregar y eliminar un dominio de su aplicación.
Aquí está la client source code.
Nota. Debido a que eres una "ingeniería inversa" y una API que parece no estar documentada, deberías pedirle a Heroku permiso para hacerlo, solo para asegurarte de que no estás creando algo en contra de sus TOS.
La gema es de heroku y es el enfoque recomendado. Me pongo en contacto con Heroku con la misma pregunta y esto estaba allí de respuesta:
tiene que decirle a Heroku sobre el dominio, y donde encaminar él también. El CNAME le dice a DNS cómo obtener la solicitud a Heroku. Ahora debe decirle a Heroku a qué aplicación se lo debe enviar. Para ello, agrega el dominio a tu aplicación. En su caso, deberá ejecutar "dominios heroku: agregar my.domain.com" a su aplicación. También puede hacer esto programáticamente desde el interior de su aplicación a través de nuestra API. Consulte la joya de Heroku (http://github.com/heroku/heroku) para ver un ejemplo de cómo conectarse y usar la API.
Me he puesto en contacto con Heroku por la misma cosa, y me han señalado al their api, y me han dicho que está bien usarlo de esa manera.
Me temo que no lo es. Our API está "documentado" solo por el código del cliente.
Usted puede encontrar nuestro grupo Google útil para obtener asesoramiento de miembros de la comunidad, así: http://groups.google.com/group/heroku/
Oren
Aquí es la simple de cómo hacerlo:
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')
Ver the api para obtener más .
Por supuesto me gustaría recomendar en contra de poner una contraseña en texto plano en el código. Algo bueno que puede hacer es usar las variables de entorno heroku para sacar sus contraseñas del código.
heroku = Heroku::Client.new(ENV['HEROKU_USER'], ENV['HEROKU_PASSWORD'])
y entonces se puede establecer las variables de entorno en su aplicación con
$> heroku config:add HEROKU_USER='heroku_username'
$> heroku config:add HEROKU_PASSWORD='heroku_password'
desde la línea de comandos.
La gema heroku ha quedado obsoleta. Deberías usar la gema heroku.rb en su lugar. Los comandos han cambiado ligeramente, pero es esencialmente lo mismo.
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: Comodín dominios con GoDaddy
- 2. Faye en Heroku: Problemas entre dominios
- 3. ¿Cómo agrego intellisense a mi aplicación?
- 4. Cómo agrego código HTML a JSF FacesMessage
- 5. cómo reiniciar trabajador Heroku Heroku usando joya
- 6. Permitir que los usuarios usen dominios personalizados para la aplicación Django en Heroku
- 7. Múltiples dominios con la aplicación one rails
- 8. ¿Cómo agrego el soporte de Applescript a mi aplicación Cocoa?
- 9. ejemplo Código de múltiples dominios de aplicación .NET
- 10. mensajes de dominios cruzados a la aplicación ASP.Net MVC
- 11. ¿Cómo agrego los comentarios existentes a RDoc en Ruby?
- 12. Analizando Javascript usando el código Ruby
- 13. ¿Cómo puedo elegir la versión de Ruby en Heroku?
- 14. ¿Cómo implementar a Heroku usando Mercurial?
- 15. ¿Cómo puedo ofrecer dominios personalizados para mi aplicación Saas en heroku?
- 16. Cómo documentar el código de Ruby usando Doxygen?
- 17. "sqlite3.h" falta al presionar la aplicación Rails a Heroku
- 18. Cómo adjuntar mi repo a la aplicación heroku
- 19. cómo actualizar la aplicación en heroku
- 20. Aplicación Rails usando Mysql cómo implementar con heroku?
- 21. Creando una aplicación de chat usando Ruby
- 22. Múltiples dominios que apuntan a una sola aplicación Heroku Rails a través de servidores de nombres que muestran contenido diferente?
- 23. ¿Cómo agrego jquery-ui a una aplicación Ruby on Rails 3.1?
- 24. Heroku - Error de aplicación
- 25. No entiendo Dominios de aplicación
- 26. Cómo eliminar subdominios de dominios usando javascript
- 27. ¿Usando el código de Ruby/Python en una aplicación de iPhone OS?
- 28. Cómo agrego el Menú principal a xib
- 29. ¿Cómo agrego una opción a una lista desplegable usando jQuery?
- 30. Despliegue de la aplicación RoR en Heroku con Sqlite3 falla
Gracias Simone. Entonces, ¿no hay una forma documentada de hacerlo legítimamente? –
Honestamente, no creo que esta manera sea "ilegal" porque no está compilando nada. Por cierto, debes contactar a Heroku para asegurarte de que se puede hacer. –
No hay de qué preocuparse, Heroku admite el uso de la API, por ejemplo, mencionan usarlo para [cambiar el número de dinnos en sus documentos] (http://docs.heroku.com/faq-product-features#how-does -dyno-amp-worker-scaling-work). Sin embargo, la API puede estar sujeta a cambios en el futuro. – wuputah