当前位置: 首页 > 知识库问答 >
问题:

通过nginx,代理节点.js通过nginx的jsonrpc请求和直接访问node提供静态内容.js socket.io

容远
2023-03-14

我只是初学者,所以我的问题/架构可能很愚蠢。如果是,请纠正我。我需要写一份申请书:

  1. 提供静态内容(索引.html,css,客户端脚本和图像,仅通过nginx处理)
  2. 处理 jsonrpc api request (nginx 代理所有对 node.js 服务器的请求)
  3. 处理 socket.io 连接(我看不出有任何理由通过nginx代理它们,所以我认为应该提供与节点的直接连接.js应用程序)

这可能吗?所以所有的静态请求和jsonrpc都是使用ngin x处理的(在第二种情况下node.js作为后端),并且socket.io连接在不同的端口上,没有ngin x?

共有1个答案

湛骏祥
2023-03-14

是的——我已经用这种架构开发了几个节点应用程序。在我的例子中,我用Apache替换了nginx,但其他方面与您描述的设置相同。

唯一真正的陷阱是,如果你尝试使用像Express和模板引擎这样的东西 - 那么你只需要知道你在模板(在节点)中使用什么,以及你作为静态内容处理什么。

 类似资料:
  • 问题内容: 我正在为Django使用apache + mod_wsgi。 并且所有css / js / images都通过提供。 出于某种奇怪的原因,当其他人/朋友/同事尝试访问该网站时,jquery / css不会为他们加载,因此页面看上去很混乱。 我的html文件使用这样的代码- 我的nginx配置是这样的 有一个目录,其中有相应的&目录。 奇怪的是,当我访问它们时页面显示正常。 我已经清除了

  • 我在数字海洋上有一个水滴,我正在使用它来主持一个网站和该网站的API。 null

  • 我正在用< code>Jetty服务器运行一个Spring Boot应用程序。API由< code>Jersey servlet提供服务。静态内容放在< code>src/main/static和< code > src/main/private-static 中。 问题#1未提供中的静态内容 中的内容是公开的,可以自由访问。据此:https://docs.spring.io/spring-boo

  • 我正在尝试设置 rabbitmq 它可以通过 nginx 从外部(从非本地主机)访问。 nginx-rabbitmq.conf: rabbitmq.conf文件: 默认情况下,来宾用户只能从本地主机进行交互,因此我们需要创建另一个具有所需权限的用户,如下所示: 但是,当我尝试通过pika连接到Rabbitmq时,我得到了ConntionClo的异常 --[引发连接关闭异常]-- 如果我使用相同的参

  • 我有一个包含3个容器的项目:反向代理容器(jwilder-nginx-proxy image),前端容器(nginx容器服务于Vue js开发和捆绑的应用程序)和后端容器(node6容器服务于NodeJs ExpressJs应用程序)。后端和前端都在反向代理的后面。下面是它在我的本地主机中应该如何工作: 访问http://localhost:80/并为gui服务 gui应该通过http://loc

  • 问题内容: 我正在构建Node.js应用程序,并且正在使用nginx作为反向代理。我的应用程序有一些我需要提供服务的静态文件和一个Socket.io服务器。 我知道我可以直接使用Express服务静态文件(使用express.static中间件)。另外,我可以将nginx直接指向我的静态文件所在的目录,以便由nginx提供服务。 所以,问题是:哪种方法更好?使用每种方法时,我可以面对哪些利弊? 问