【问题标题】:Node.js on nginx with different port具有不同端口的 nginx 上的 Node.js
【发布时间】:2016-05-09 08:03:56
【问题描述】:

我在互联网上看到了几个例子,但尝试了它们都不起作用,你能告诉我在做什么错吗?我在 nginx 服务器上有我的 laravel 应用程序,现在我想在我的服务器上的不同端口上运行另一个 node.js 应用程序。我一直在尝试不同的方式,但我得到的只是“502 Bad Gateway

另外注意,我的 HTTPS 端口允许端口 3000。

这是我的服务器配置代码-

server{
    listen 443 ssl;
#   listen [::]:80 ipv6only=on;
    server_name node.example.com;
    root /home/Tapos/node_modules;
    index index.html index.htm index.js;
    location / {
    try_files $uri $uri/ =404;
#   proxy_pass https://node.example.com;
        proxy_pass https://localhost:3000;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_buffering off;
    }
}

【问题讨论】:

    标签: node.js nginx https


    【解决方案1】:

    您需要添加另一个 server 块以将流量重定向到另一个 nodejs 应用程序,或者更新现有的 server 块以根据 URL 重定向您的 nodejs 应用程序之间的流量。

    如果您需要任何进一步的帮助,请将您更新的服务器块或新的服务器块添加到问题中。

    【讨论】:

    • 好吧,我现有的所有应用程序都在端口 80 和 443 上运行。我想要的只是添加一个简单的节点程序,以便它可以与我现有的应用程序一起工作。所以我只是启用了端口 3000 来通过它。但不确定它在这里如何工作。
    • 504 Bad Gateway 说,您的上游(运行在 3000 上的 nodejs 应用程序)没有向 nginx 返回任何内容。你有 nodejs 应用程序在 3000 端口上运行和监听吗? sudo netstat -lnp | grep 3000 返回的是什么?
    • 什么也不返回。那么我在这里错过了什么?
    • 这意味着,您的 nodejs 应用程序没有运行。你启动了你的 nodejs 应用了吗?
    • 好的。您现在看到的错误是什么?还是504?你可以检查它运行相同的命令吗? sudo netstat -lnp | grep 3000。你可以在这里发布输出吗?
    猜你喜欢
    • 2018-12-28
    • 2014-10-01
    • 2014-01-12
    • 2017-11-28
    • 1970-01-01
    • 1970-01-01
    • 2021-05-29
    • 1970-01-01
    • 2020-10-26
    相关资源
    最近更新 更多