【发布时间】:2013-03-01 14:39:50
【问题描述】:
我正在尝试构建一个 API,但我担心我的所有资源要么无法通过 api.myapp.com 域访问,要么会“使用”错误的 uri。
我已经为我的域名添加了 CNAME 以指向我的 Heroku 应用程序。 (例如:浏览 www.myapp.com 会将您带到https://myherokuapp.heroku.com)
我想设置一个 API 子域,以便 GET 到 https://api.myapp.com 带你到https://myherokuapp.heroku.com/api/v1
最好的情况是发送到 https://api.myapp.com/accounts/12345 的 POST 会创建一个新帐户。这可能吗?
(我知道 Heroku 无法使用子域(例如:mysubdomain.myappname.heroku.com))
我相信答案可能在三个不同的地方:
- 与 DNS 提供商转发配置有关(也许 与“A”记录有关)。
- 在 Heroku 中配置的东西,可能是用于处理域/子域的付费插件。
- 处理我的应用程序中的所有子域。
【问题讨论】:
-
嘿@Scott 我正在尝试做同样的事情,但 Heroku 和 GoDaddy - 似乎无法让它们工作。您能否发布对上述解决方案的答案:即您的路线文件?这对于查看您的答案的 1500 人来说非常方便。
-
@BKSpureon 自从我问这个问题以来已经差不多 4 年前了;)但是,答案在下面的 cmets 中: 1. 将 CNAME(Alias) api.myapp.com 添加到我的 DNS ,并让它指向 myherokuapp.heroku.com 2. 将域 api.myapp.com 添加到 Heroku。 3. 在您的节点应用程序中使用一个模块来处理子域路由。我使用npmjs.com/package/express-subdomain 将所有 api 子域流量路由到位于 myherokuapp.heroku.com/api/v1 的 API 端点。从那时起,我在 Digital Ocean 有一个 DIY 服务器(5 美元/月),甚至在使用应用程序之前就使用 Nginx 进行路由。