【问题标题】:nginx with two node aplications with socket IO带有套接字 IO 的两个节点应用程序的 nginx
【发布时间】:2020-09-25 13:58:03
【问题描述】:

我有两个应用程序在同一台机器上运行。一个在端口 8080 上侦听,另一个在 11180 上侦听。到端口 8080 上的应用程序的 SSL 连接有效,但我无法设置另一个。

为了将每个应用程序的请求标题分开,一个在https://example.com 可用,另一个在https://example.com/v2 可用

正如我所说,转到 https://example.com 可以按预期工作,但转到 https://example.com/v2 会提供正确的 html 文件,但会连接到与转到 https://example.com 相同的服务器

我真的不知道我在用 nginx 做什么,但我的配置看起来像这样。

   server {

    listen 443 ssl;

    location / {

      proxy_pass http://127.0.0.1:8080;
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection 'upgrade';
      proxy_set_header Host $host;
      proxy_cache_bypass $http_upgrade;
    }

    location /v2/ {

      proxy_pass http://127.0.0.1:11180/;
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection 'upgrade';
      proxy_cache_bypass $http_upgrade;
    }

    location /socket.io {
      proxy_pass http://127.0.0.1:8081;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
      proxy_http_version 1.1;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host $host;
      #proxy_redirect off;

    }

  }

值得一提的是,第一个app监听8080,socket io监听8081,第二个app,一切监听11180

提前致谢

【问题讨论】:

  • “去https://example.com/v2 提供正确的html 文件但连接到与去https://example.com 相同的服务器”是什么意思?您获得了正确的索引文件,但所有资产请求都转到第一个应用程序?
  • 是的,提供了正确的 index.html(以及所有部分),但所有请求都转到第一个节点进程。我相信这与 /socket.io 位置有关,但不确定该怎么做
  • 如何创建套接字实例?就像io()?
  • 不,我在两个应用程序中都使用不带参数的 io.connect()。此行位于名为 services.js 的文件中(用于 angular js),我认为提供了不正确的文件,从而导致连接错误。

标签: node.js nginx socket.io


【解决方案1】:

正如公认的答案所说,您可以创建一个新的服务器块......或者您甚至可以在带有新服务器块的新域的站点可用文件夹中创建一个新的 conf 文件。不要忘记将它们链接到已启用的站点。

【讨论】:

    【解决方案2】:

    我最终在 nginx 配置中添加了另一个服务器块,并通过 www.example.com:port 访问它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-30
      • 1970-01-01
      • 1970-01-01
      • 2018-05-15
      • 1970-01-01
      • 2018-06-08
      • 1970-01-01
      相关资源
      最近更新 更多