2017-09-05 48 views
0

有沒有辦法讓express.js服務器總是使用dns查找IPV4地址而不是IPv4和IPV6地址?node.js express dns lookup to use ipv4 always

就像我們通過設置參數java.net.preferIPv4Stack =真

我期待傳出請求做到這一點,當我的外接正在出站服務調用做到這一點在Java的JVM。我的應用使用request npm package,它使用net npm package,它使用dns npm package。 DNS套件有一個選項,可以設置4或6的IP家庭。我認爲這將做我想要的,如果我將它設置爲4.

現在的問題是,如何從我的應用程序傳遞此選項在運行時應用於此npm包。

+0

當你指定服務器偵聽端口,你可以指定的IPv4'XXXX'就這樣'app.listen(5000, '127.0.0.1');' –

+0

@SatishPatel,謝謝你的迴應。我已經更新了我的問題。對不清楚的道歉。 – mandy

回答

0

我不得不這樣做,強制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