Tag: dns

curl/ Debian无法解决主机间歇性错误

我有生产脚本通过nodejs在PHP(curl)或http请求中对不同的URL进行不同的调用,例如: 几百个NodeJS每天向我自己的服务器请求OVH( mydomain.com/api/… ) 与Curl中的PHP(Symfony2)一样,外部API( view-api.box.com )也是这样,每天大约100(在我的API速率限制下) 与我自己的另一个托pipe域上的旧网站服务器在OVH( myolddomain.fr )同步每次用户login 几个电话到外部网站更新一些文件( http://ec.europa.eu/blahblah… ) 这些要求运行了大约2年,它已经开始给我以下两个星期的错误: NodeJs错误 getaddrinfo ENOTFOUND for mydomain.com/api/… PHPcurl错误 Could not resolve host: view-api.box.com或Curl err[6]: Could not resolve host: myolddomain.fr 。 我没有更改或更新我的Debian服务器上的任何软件包( Debian GNU/Linux 8 ), 最近间歇性地出现问题,似乎是非常随机的( 每天5到10次 ) 我怀疑它没有任何关系的代码,但一些DNS问题或find任何远程域(甚至我自己的)的麻烦,但我不知道在哪里看,因为它来自不同的代码/请求… cat /etc/resolv.conf domain local search local nameserver 213.186.33.99 # (OVH Dns servers) 问题是…我应该在哪里首先解决这个问题? 有任何提示呢?

使用jsonwebtoken创buildReact-App DNS模块错误

我有一个错误,我无法解码客户端应用程序的授权令牌。 我发现我的问题的修复程序,但他们只能被固定在自定义webpack.configs。 我正在使用create-react-app构build,现在已经停留了一段时间了。 这里是我的错误是一个例子。 ./~/isemail/lib/isemail.js Module not found: Can't resolve 'dns' 当我尝试在客户端使用npm模块“jsonwebtoken”解码我的授权令牌时,会发生此错误。 如果任何人有一个解决这个问题或可以解释一种方法来初始化dns节点为空,我将不胜感激

即使本地主机存在于/ etc / hosts(MacOS El Capitan)中,我也会在运行简单节点服务器时获得`getAddrInfo ENOTFOUND localhost`

设置和运行普通节点js服务器时,发生了一件非常奇怪的事情。 当我运行node server.js ,我得到以下错误: Server running at http://localhost:1337/ events.js:160 throw er; // Unhandled 'error' event ^ Error: getaddrinfo ENOTFOUND localhost at errnoException (dns.js:28:10) at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:76:26) 当我在浏览器中打开http://localhost:1337/时,表示page does not exist 。 当我运行sudo node server.js ,它运行正常,没有任何错误,我可以访问我的网站在https://localhost:1337 这是我的/ etc / hosts文件: 127.0.0.1 localhost 255.255.255.255 broadcasthost ::1 localhost fe80::1%lo0 localhost 我的server.js: // Require what we need […]

当有大量的CNAME需要parsing时,dns.resolveCname会失败

我正在编写一个解决大约10,000个CNAME的程序。 我Error: queryCname ESERVFAIL的问题是,当要parsing的CNAME数Error: queryCname ESERVFAIL时, dns.resolveCname()将返回Error: queryCname ESERVFAIL错误。 代码如下所示: const dns = require('dns') dns.setServers(['8.8.8.8']) // provided by google let cnames = [….] // length of cnames is 10,000 let promiseArr = [] for (let i = 0; i < cnames.length; i += 1) { let p = new Promise((resolve, reject) => { dns.resolveCname(cnames[i], (err, […]

在Nodejs上使用DNS进行领事服务发现

TL; DR 大家好,我试图通过Consul DNS接口从一个nodejs前端调用nodejs后端微服务,但我有错误。 我正在使用nodejs dns api为单一节点应用程序设置dns,以便随后对本地Consul DNS接口执行dns.resolve()调用。 目标 我希望能够向我的后端服务发出http请求,而不需要在我的客户端代码中连接其IP和端口。 我不想编写一个自定义代码来查询Consul HTTP API,以便随时调用我的服务来获取我的服务的ip:port对。 问题 问题是,当我使用axios (类似于请求 )对后端服务进行HTTP调用时,我总是得到一个错误,因为它无法parsing地址。 看来Axios并没有使用我之前设置的dns: dns.setServers(['127.0.0.1:8600']); Update_1 将虚拟机的dns(/etc/resolv.conf)设置为localhost,使用默认的dns使用-recursor命令行选项,一切正常! 我仍然想知道我在做什么错误设置只在我的nodejs应用程序的DNS。 build立 1节点与一个nodejs进程运行一个简单的Web服务器与Expressjs。 在app.get('/')路由中,它通过consul和axios(如request)对一个名为be01的后端服务进行REST POST调用。 2 BE节点与一个nodejs进程运行一个简单的Web服务器与Expressjs暴露REST API。 1 Consul节点与Consul作为服务器运行。 每个节点都有自己的领事代理正在运行并join到集群中。 TCP端口正确打开 这是服务器: 这是来自Consul UI: 在FE节点上运行领事成员我得到: agent-server 10.0.1.7:8301 alive server 1.0.1 2 dc1 <all> agent-be-01 10.0.1.5:8301 alive client 1.0.1 2 dc1 <default> agent-be-02 10.0.1.6:8301 […]

nodejs dns错误getaddrinfo ENOTFOUND

当我使用命令在Linux上进行testing时,发生错误如下,可能帮我修复一下? sudo node -pe'require(“dns”)。lookup(“ http://www.amazon.com ”,function(){console.dir(arguments)})' GetAddrInfoReqWrap { callback: [Function], family: 0, hostname: 'http://www.amazon.com', oncomplete: [Function: onlookup] } { '0': { Error: getaddrinfo ENOTFOUND http://www.amazon.com at errnoException (dns.js:55:10) at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:97:26) code: 'ENOTFOUND', errno: 'ENOTFOUND', syscall: 'getaddrinfo', hostname: 'http://www.amazon.com' } } 一些系统信息:node -v v9.2.0 uname -a Linux 10-101-169-37 4.0.0-040000-generic#201504121935 SMP Sun Apr 12 […]

在Node.js(在Windows上运行)如何获取域名

我有要求我的NodeJS http服务器(在Windows上)必须监听主机名而不是localhost / 127.0.0.1。 为此,我需要Windows机器的完整主机名(包括域名),我无法获得完整的主机名。 我试过使用 require('os').hostname() 但是它并没有给我完整的主机名。 所以我试了下面: var dns = require('dns'); var os = require('os'); var hostname = os.hostname(); console.log("Short hostname = ", hostname); dns.lookup(hostname, function (err, add, fam) { if (err) { console.log("The error = ", JSON.stringify(err)); return; } console.log('addr: '+add); console.log('family: ' + fam); dns.reverse(add, function(err, domains){ if (err) { console.log("The […]

如何用node.js dns.resolve函数find几个loggingtypes?

我使用node.js的dns.resolve函数来查找给定域的NS和CNAMElogging。 我也想现在得到TXT和SPFlogging。 如果我分开这么做 – 这是四个要求。 有没有办法在一个请求中获得所有四种loggingtypes? 而且,SPF信息是否始终处于TXTloggingtypes,还是可以拥有自己的?

在具有多个域的相同服务器上托pipePHP和Node.js应用程序

我有一个Linode VPS,目前运行lighttpd来服务我的PHP网站,并在端口80上侦听。 我也运行Node.js,它侦听端口81,并使用websockets和HTTP与客户端进行交互。 有几个不同的域我想指向这个服务器。 理想情况下,我希望托pipePHP站点的域都与同一个lighttpd服务器交谈,而使用node.js的站点会以某种方式redirect到端口节点.js正在监听客户端不知道的情况(例如,没有30xredirect)。 example-php1.com:80 -> linodebox:80 lighttpd /var/www/example1 example-php2.com:80 -> linodebox:80 lighttpd /var/www/example2 example-node.com:80 -> linodebox:81 node.js 有没有办法做到这一点,无论是通过设置DNS条目或调整iptables? lighttpd是否需要成为node.js的代理? websocketsfunction需要在没有任何回退的情况下工作,访问非节点域(例如example-php1.com:81 )不应公开节点应用程序。 我觉得完美的解决scheme不需要改变现有的应用程序代码,也不需要在软件Web服务器之间进行代理,但我可能是错的。

如何在nodejs中将http请求发送到未链接到DNS但在hosts文件中注册的url?

我正在使用IP 190.34.24.56远程沙箱(不是真正的IP,只是例如) 主机文件包含这个string: 190.34.24.56 web.sandbox.com 我可以从浏览器访问urlweb.sandbox.com ,但是当尝试发送http请求时,我得到一个错误: ENOTFOUND (未find域名)。 如何将http请求从nodejs发送到没有dnslogging的url? (我不能进入沙箱使用190.34.24.56,因为有主机 – 服务器的工作,确定传入的url和redirect请求到其他端口,所以我只能使用web.sandbox.com )