如何为某些路由分配子域?

How to assign a subdomain to some routes?

我正在 Node.js 中编写一个应用程序并表示,这个应用程序有一个用 jade 和 less 编写的前端,我们也在编写一个 RESTful API 来创建、读取,更新和删除数据库中的数据(MongoDB)

对于这个应用程序,我们有一个域:example.com,我们希望所有前端都可以从 example.com 访问,其次我们只希望 API 可以从 api.example.com

我们如何才能让只有来自子域 api 的路由响应?

PS。如果不相关,但整个应用程序是使用 Kraken.js (PayPal)

编写的

我建议的是完全拥有两个独立的项目:一个用于您的 Web 前端,另一个用于您的 API 服务。将这两个项目保存在单独的 Git 存储库(或您使用的任何形式的版本控制)中,并为每个项目提供自己的数据库/网络服务器等。

将两个项目部署到两个(或更多)服务器后,您就可以轻松配置 DNS 以指向您的服务。

对于您的主站点,您需要创建一个指向托管您的网站项目的 Web 服务器的 public IP 地址的 DNS A 记录。

对于您的 API 站点,您需要创建一个指向托管您的 API 项目的 Web 服务器的 DNS CNAME 记录。

如果您使用的是像 Heroku 这样的服务,这个过程会更简单:您可以对所有内容使用 CNAME,并稍微简化这个过程。