Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有没有办法为节点js https请求设置源端口?_Javascript_Node.js - Fatal编程技术网

Javascript 有没有办法为节点js https请求设置源端口?

Javascript 有没有办法为节点js https请求设置源端口?,javascript,node.js,Javascript,Node.js,有没有办法为节点js https请求设置源端口?我不是问目的地,而是问来源(用于发送请求的端口) 上下文是我试图从特定端口而不是随机端口发送https请求,从而允许锁定iptables。节点未以root身份运行,因此端口不是443 更新: 节点中似乎存在错误。localAddress和localPort选项不起作用,至少在TLS套接字中不起作用 更新: 发现了去年的类似问题。答案是“不要那样做”,这似乎很愚蠢,因为节点被认为是一个通用工具 该功能似乎未记录,但您可以通过为https.reques

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

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

更新: 节点中似乎存在错误。localAddress和localPort选项不起作用,至少在TLS套接字中不起作用

更新:
发现了去年的类似问题。答案是“不要那样做”,这似乎很愚蠢,因为节点被认为是一个通用工具

该功能似乎未记录,但您可以通过为https.request中的options参数设置
localAddress
localPort
参数来实现这一点

有关更多信息,请参见此处的代码:

下面是一个基本示例:

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();

不幸的是,节点似乎不支持绑定客户端端口。显然,这不是一个经常使用的功能,但它是可能的。这个链接很好地解释了端口绑定。不知道如何让NoDEJs的人考虑这个变化。< /P>你想改变系统默认端口,或者只想改变你的应用程序的端口?添加<代码>:80 < /代码>到客户端正在访问的链接的末尾。(用您想要的任何端口替换80)我想为特定的https请求设置源端口。我的https服务器正在8443上侦听,因为它不是root。在某些情况下,我的服务器需要向远程服务器发出https请求。在这些情况下,我希望从本地端口8444发送请求。我如何做到这一点?我没有看到源端口的参数。有一个“默认值”,但它似乎不起任何作用。这完全是猜测:也许可以尝试将https.request对象的localAddress属性设置为包含端口。当你打字的时候我正在试着。到目前为止没有运气。param localAddress没有很好的文档记录,因此不确定如何使用它。我无法使localPort正常工作。有代理人也有代理人也有。仍然可以在iptables日志中看到随机端口。