0
일부 도메인에 대한 DNS 정보를 확인하기 위해 dns.resolveAny
함수를 사용하고 있습니다.node.js dns.resolveAny는 빈 배열을 반환합니다.
이상한 점은 한 도메인에서 nslookup
명령이없는 동안 dns.resolveAny
은 빈 배열을 반환한다는 것입니다.
// node.js version >= 9.2 is required
const dns = require('dns')
dns.resolveAny('www.ifshop.com.tw', (err, ret) => {
if (err) {
console.log(`err: ${err}`)
} else {
console.log(`ret: ${JSON.stringify(ret)}`) // JSON.stringify(ret) == [] here
}
})
resolveAny
반환 []
:
다음은 예입니다. 그러나 nslookup
은 www.ifshop.com.tw
의 CNAME 레코드가있는 곳을 반환합니다.
> nslookup www.ifshop.com.tw
Server: 192.168.1.1
Address: 192.168.1.1#53
Non-authoritative answer:
www.ifshop.com.tw canonical name = s1759.dname.91app.io.
s1759.dname.91app.io canonical name = proxy.letssl.91app.io.
proxy.letssl.91app.io canonical name = proxy-letssl-91app-io-196811564.ap-northeast-1.elb.amazonaws.com.
Name: proxy-letssl-91app-io-196811564.ap-northeast-1.elb.amazonaws.com
Address: 54.178.248.57
Name: proxy-letssl-91app-io-196811564.ap-northeast-1.elb.amazonaws.com
Address: 52.196.80.17
왜 이런 일이 발생합니까?
이것은 resolveAny
의 버그입니까?
www.ifshop.com.tw
의 DNS 구성에 문제가 있습니까?
또한 dns.resolveCname
이 (가) CNAME을 (를) 성공적으로 반환 함을 발견했습니다. 여기
// node.js version >= 9.2 is required
const dns = require('dns')
dns.resolveCname('www.ifshop.com.tw', (err, ret) => {
if (err) {
console.log(`err: ${err}`)
} else {
console.log(`ret: ${JSON.stringify(ret)}`)
}
})
,
JSON.stringify(ret)
["s1759.dname.91app.io"]
는 동일하다.