修复nil导致查询返回问题
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
CGO_ENABLED=1
|
||||
GOOS=linux
|
||||
GOARCH=amd64
|
||||
CC=gcc
|
||||
service dns-server stop && go build -o dns-server main.go && service dns-server start
|
||||
export CGO_ENABLED=1
|
||||
export GOOS=linux
|
||||
export GOARCH=amd64
|
||||
export CC=gcc
|
||||
#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)
|
||||
} 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