/ntohl.jpg

NTOHL

golang pprof访问debug/pprof报404 page not found的解决办法

这个问题要从net/http/pprof的原理说起,可以看到

func init() {
	http.HandleFunc("/debug/pprof/", Index)
	http.HandleFunc("/debug/pprof/cmdline", Cmdline)
	http.HandleFunc("/debug/pprof/profile", Profile)
	http.HandleFunc("/debug/pprof/symbol", Symbol)
	http.HandleFunc("/debug/pprof/trace", Trace)
}

引入 _ “net/http/pprof”,init函数会添加pprof的路由信息,而如果http注册了其他路由,导致http.HandleFunc失效,也就会造成了404的问题,我使用的是httprouter包

DNS协议的axfr和ixfr解析

简介

axfr:DNS Zone Transfer Protocol (AXFR),dns的全量更新协议,dns主从架构更新,从向主获取zone的全量数据,由主返回axfr消息,全量刷新该zone的slave信息

ixfr:Incremental Zone Transfer in DNS,dns的增量更新协议,和axfr对应,axfr是一次性将一个zone的全量数据返回至Slave,而ixfr仅将增量更新数据返回

netsh.xyz.zone.jnl: create: permission denied,bind9 ixfr同步jnl生成失败的解决办法

调测bind9同步及notify、ixfr、axfr机制,通过rndc reload zone,在slave抓包,并未发现notify及ixfr包,检查named.run日志,发现日志中有netsh.xyz.zone.jnl: create: permission denied
第一反应:权限或者SELinux有问题,经检查不是这的事,搜索,在centos.org找到了解决方案:
Stop Bind Server
service named stop