Node.js Nodejs服务器配置实验

Node.js Nodejs服务器配置实验,node.js,rest,express,Node.js,Rest,Express,设置一个nodejs服务器,为我的应用程序提供REST接口(带有json对象)。 这个很好用 目前我运行Jekyll服务来提供内容页。这会导致一些跨站点脚本问题,因为它们在不同的端口上运行。我可以绕过这个问题,但它似乎不是最佳解决方案 在同一端口上运行nodejs服务器以提供REST接口和web内容接口是否正常。我一直在寻找nodejs/express/Swig作为Jekyll服务的替代品,但我认为在nodejs上运行express/Swig似乎会改变我的响应对象的行为,这使得使用REST不是很

设置一个nodejs服务器,为我的应用程序提供REST接口(带有json对象)。 这个很好用

目前我运行Jekyll服务来提供内容页。这会导致一些跨站点脚本问题,因为它们在不同的端口上运行。我可以绕过这个问题,但它似乎不是最佳解决方案

在同一端口上运行nodejs服务器以提供REST接口和web内容接口是否正常。我一直在寻找nodejs/express/Swig作为Jekyll服务的替代品,但我认为在nodejs上运行express/Swig似乎会改变我的响应对象的行为,这使得使用REST不是很理想

在同一端口上运行nodejs服务器以提供REST接口和web内容接口是否正常

是的,这是很常见的,因为处理起来要简单得多,所以许多小型应用程序/API都选择这种方法。有时API使用URL路径前缀(如“/API”)作为基本区别。有时人们使用内容协商,其中“/user/42”将根据请求“Accept”头发送HTML或JSON

但是,在端口80上使用web服务器,根据路径路由到不同的后端应用程序也是很常见的,因此,例如,
/api
的任何内容都将被反向代理到
127.0.0.1:3000
上的express应用程序,但查找内容页的所有其他内容都可能转到
127.0.0.1:3001
上的jekyll应用程序

  • 我将如何滚动。因为我是
    • 端口80上的nginx反向代理到express for API和jekyll for content
  • 也可能
    • express在80上侦听,直接处理API,使用节点http代理从jekyll应用程序中反转代理内容
  • 有很多其他的组合,你可以让工作很容易。主要是关于你认为容易理解、可靠、安全等的东西

所以您建议在80上安装标准web服务器。然后在不同的端口上安装内容引擎和REST引擎,但是web服务器将请求路由到适当的端口