无法从不同网络获取 3000 端口上的应用程序

无法从不同网络获取 3000 端口上的应用程序

我有一个在 Linux 服务器(nginx)上运行的 node.js 应用程序。

xxx.xxx.xxx.xxx:3000/api

当我尝试从手机或家里的电脑连接时,我可以。但当我尝试从公司网络连接时,我无法连接。我也可以从任何一个获得 80 端口。

为什么我打不开3000端口?

答案1

您的公司很可能有非常严格的防火墙。它们会从不允许任何内容的状态开始,然后添加所需的内容。

这些将是用于 http(Web 浏览)的端口 80、用于 https 的端口 443 以及您需要的任何其他东西。

您可以设置代理,以便用户连接端口 80,但您的 node.js 应用程序仍将在 3000 上接收。

详细链接在这里:这里

TLDR 是:

  • 打开你的配置(centOS /etc/nginx/conf.d 或 Ubuntu /etc/nginx/sites-enabled)
  • 进行以下更改(根据需要进行更改以满足您的需要)
  • 重启 nginx 服务

    server {
        listen 80;
        server_name your-domain-name.com;
        location / {
           proxy_set_header   X-Real-IP $remote_addr;
           proxy_set_header   Host      $http_host;
           proxy_pass         http://127.0.0.1:3000;
        }
    }
    

相关内容