【问题标题】:node.js express dns lookup to use ipv4 alwaysnode.js 表达 dns 查找以始终使用 ipv4
【发布时间】:2017-09-05 14:40:06
【问题描述】:

有没有办法让 express.js 服务器始终使用 dns 查找 IPV4 地址而不是 IPv4 和 IPV6 地址?

就像我们在 java JVM 中通过设置参数 java.net.preferIPv4Stack=true 来做到这一点

当我的添加正在进行出站服务调用时,我希望为传出请求执行此操作。我的应用程序使用request npm package,它使用net npm package,它使用dns npm package。 dns 包有一个选项来设置 IP 系列,可以是 4 或 6。我认为如果我将它设置为 4,这将满足我的要求。

现在的问题是,如何从我的应用程序中传递这个选项以在运行时应用到这个 npm 包。

【问题讨论】:

  • 您可以在指定服务器侦听端口XXXX时指定IPv4,就像这样app.listen(5000, '127.0.0.1');
  • @SatishPatel,感谢您的回复。我已经更新了我上面的问题。对不够清晰深表歉意。

标签: node.js express dns npm-request


【解决方案1】:

我必须这样做以强制 DNS 查找仅查找 IPv4 地址而不是 IPv6 地址。

import Request from 'request';

export class SoapUtility extends Utility 
{

  constructor(options) {
        super();
        otherCode = otherCode;

        this.request = Request;
  };

  requestMainframe(args, callback) 
  {
    this.request.post({
        url: this.endpoints.userLookup,
        method: 'POST',
        family : 4,
        headers: {
            'Content-Type': 'text/xml',
            "Authorization": `Basic ${creds}`
        },
        body: requestBody,
        rejectUnauthorized: false, 
    }, (error, response, body) => {
          callback(error, null);
    });
  }
}

这里是documentation from npm requestDNS lookup details

【讨论】:

    猜你喜欢
    • 2016-09-24
    • 2021-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-03
    • 1970-01-01
    相关资源
    最近更新 更多