Nodejs服务器配置实验

时间:2013-12-10 00:09:43

标签: node.js rest express

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

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

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

1 个答案:

答案 0 :(得分:2)

  

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

是的,这很常见,因为处理起来要简单得多,所以许多小应用程序/ apis选择这种方法。有时,API使用像“/ api”这样的URL路径前缀作为基本区别。有时人们使用内容协商,其中'/ user / 42'将发送HTML或JSON,具体取决于请求'Accept'标题。

但是,在端口80上使用基于路径路由到不同后端应用程序的Web服务器也很常见,因此例如/api的任何内容都将被反向代理{{1}上的快速应用程序1}}但是其他寻找内容页面的内容可能会转到127.0.0.1:3000上的jekyll应用。

  • 我将如何滚动。因为我very much in favor of using a real web server on port 80
    • nginx在端口80上反向代理表示API和jekyll表示内容
  • 也可能
    • 表达侦听80,直接处理API,使用node-http-proxy来反转来自jekyll app的代理内容
  • 您可以轻松完成其他一系列组合工作。主要是关于你认为易于理解,可靠,安全等等。