【问题标题】:How to open a NAS Synology port for Node.js?如何为 Node.js 打开 NAS Synology 端口?
【发布时间】:2024-01-15 15:53:01
【问题描述】:

我是新手,想开始使用 Node.js。 我尝试运行“Hello, world!”关于群晖:

const http = require('http');

const hostname = '127.0.0.1';
const port = 3001;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

这段代码运行:

~$ node app.js
Server running at http://127.0.0.1:3001/

但访问 Synology 时没有发现任何内容:

ERR_CONNECTION_REFUSED

我找到了说明:

在 Synology 上打开防火墙端口,具体取决于您要运行 xxx 的端口(例如 3001)

创建volume1/path_to_your_app/app.js,让http服务器监听8080端口。

此设置在 Synology 上的什么位置?

【问题讨论】:

    标签: node.js synology


    【解决方案1】:

    -> 转到Control panel,然后转到FirewallFirewall-profile。在那里你可以编辑你的防火墙规则,或者添加或删除规则。

    我希望这是您正在寻找的。否则写你要找的东西

    【讨论】:

    • 谢谢。我只想使用局域网。
    【解决方案2】:

    您的 127.0.0.1 需要是您的 NAS 的 IP 地址。如果您在本地路由器上并且您的 NAS 设置为例如 192.168.3.10,那么您的代码将是:

    const hostname = '192.168.3.10';
    const port = 3001;
    

    然后在您的网络浏览器中运行 app.js 后输入 192.168.3.10:3001

    【讨论】: