对自定义heroku域进行api调用

时间:2015-02-02 19:23:20

标签: ruby-on-rails api heroku subdomain

我正在构建一个带有rails的开放API并在Heroku上托管我的项目。但是,我希望我的API调用来自mydomain.co而不是heroku的域。

我从Heroku信息中心添加了我的域名,并且我还将我的域名转发到了heroku的网址。

然而,当我按下面的方式进行“POST”调用时:

 curl -H "Content-Type: application/json" -d '{"myjsontitle":{"field1":"eerbil.eren@derivalabs.com","field2":"12345678"}}' -X POST http://deriva.co/applicants.json 

终端返回以下内容:

<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="https://stark-bayou-1773.herokuapp.com/applicants.json">here</a>.</h2>
</body></html>

当我查看heroku日志时,它说

at=info method=GET path="/applicants.json" host=stark-bayou-1773.herokuapp.com 

我该如何解决这个问题?

谢谢!

1 个答案:

答案 0 :(得分:2)

您的DNS配置出错。

➜  ~  curl -I deriva.co
HTTP/1.1 302 Found
Cache-Control: max-age=900
Content-Type: text/html; charset=utf-8
Location: https://stark-bayou-1773.herokuapp.com
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Mon, 02 Feb 2015 19:59:45 GMT
Content-Length: 155
Age: 67
Connection: keep-alive

deriva.co重定向到Heroku,而它应该解决它。您可能使用了某种提供程序重定向,这不是正确的DNS配置。您需要"point" the DNS to Heroku

请注意,除非您的提供商支持CNAME-like configuration for the root domain,否则您无法直接将deriva.co映射到Heroku。 GoDaddy没有。

您需要change DNS provider或使用CNAME指向www.deriva.co并将deriva.co重定向到www.deriva.co