gpt4 book ai didi

node.js - 如何限制 Node 服务器可达性

转载 作者:搜寻专家 更新时间:2023-11-01 00:32:38 24 4
gpt4 key购买 nike

我在我的专用服务器上运行 Node 脚本;它在端口 9001 上运行;问题是它可以在我服务器上托管的任何域上访问;如果我有 3 个域:

www.domain1.com
www.domain2.com
www.domain3.com

Node 脚本在它们每个的端口 9001 上回答:

www.domain1.com:9001
www.domain2.com:9001
www.domain3.com:9001

由于这个node脚本只被domain1的网站使用,如何限制它只监听www.domain1.com:9001?

我希望将来为每个域设置和运行不同的 Node 脚本,但每个域都在端口 9001 上监听

最佳答案

假设您没有使用像 express 这样的库,这应该可以工作:

var http = require('http');
http.createServer(function (req, res) {
if (req.headers.host.indexOf('www.domain1.com') !== 0) {
return res.writeHead(403);
}
// Do stuff
}).listen(9001, '127.0.0.1');

您将无法在同一个端口上运行多个应用程序,它会抛出错误:listen EADDRINUSE。我不太了解您的用例,但一些选项是:

  • 让一个应用监听 9001 和一个 switch 语句检查域。
  • 让每个应用监听不同的端口:900190029003

关于node.js - 如何限制 Node 服务器可达性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23685444/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com