gpt4 book ai didi

javascript - 有没有办法为 Node js https 请求设置源端口?

转载 作者:搜寻专家 更新时间:2023-10-31 23:52:53 24 4
gpt4 key购买 nike

有没有办法为 Node js https请求设置源端口?我问的不是目的地,而是来源,即用于发送请求的端口。

上下文是我试图从特定端口而不是随机端口发送 https 请求,从而允许锁定 iptables。 Node 未以 root 身份运行,因此端口不是 443。

更新:看来 Node.js 中有一个错误。选项 localAddress 和 localPort 不起作用,至少对于 TLS 套接字。

更新:发现了去年的类似问题。答案是“不要那样做”,考虑到 Node 应该是一个通用工具,这似乎很愚蠢。 Nodejs TCP connection client port assignment

最佳答案

该功能似乎没有记录,但您可以通过为 https.request 中的选项参数设置 localAddresslocalPort 参数来实现。

有关详细信息,请参阅此处的代码: https://github.com/nodejs/node/blob/b85a50b6da5bbd7e9c8902a13dfbe1a142fd786a/lib/net.js#L916

一个基本的例子如下:

var https = require('https');

var options = {
hostname: 'example.com',
port: 8443,
localAddress : '192.168.0.1',
localPort: 8444
};

var req = https.request(options, function(res) {
console.log(res);
});

req.end();

关于javascript - 有没有办法为 Node js https 请求设置源端口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36554680/

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