修复nil导致查询返回问题
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
CGO_ENABLED=1
|
export CGO_ENABLED=1
|
||||||
GOOS=linux
|
export GOOS=linux
|
||||||
GOARCH=amd64
|
export GOARCH=amd64
|
||||||
CC=gcc
|
export CC=gcc
|
||||||
service dns-server stop && go build -o dns-server main.go && service dns-server start
|
#service dns-server stop && go build -o dns-server main.go && service dns-server start
|
||||||
|
|
||||||
|
|||||||
@@ -892,6 +892,16 @@ func (s *Server) handleUpstreamRequest(w dns.ResponseWriter, r *dns.Msg, startTi
|
|||||||
|
|
||||||
// 写入响应给客户端
|
// 写入响应给客户端
|
||||||
w.WriteMsg(response)
|
w.WriteMsg(response)
|
||||||
|
} else {
|
||||||
|
// response 为 nil,说明上游 DNS 查询失败
|
||||||
|
// 返回服务器失败错误给客户端
|
||||||
|
logger.Debug("上游 DNS 查询失败,返回 SERVFAIL", "domain", reqInfo.domain)
|
||||||
|
errorResponse := new(dns.Msg)
|
||||||
|
errorResponse.SetReply(r)
|
||||||
|
// 设置递归可用标志
|
||||||
|
errorResponse.RecursionAvailable = true
|
||||||
|
errorResponse.SetRcode(r, dns.RcodeServerFailure)
|
||||||
|
w.WriteMsg(errorResponse)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 使用上游服务器的实际响应时间(转换为毫秒)
|
// 使用上游服务器的实际响应时间(转换为毫秒)
|
||||||
|
|||||||
Reference in New Issue
Block a user