|

楼主 |
发表于 2016-11-23 09:32:35
|
显示全部楼层
问题已经解决,见http://www.cnblogs.com/icecrystal/p/5851631.html
我采用的是第1,2两种方法。
处理主从验证
问题
如果在master的站点配置账号密码验证,smokeping slave端就无法访问master的URL。
启动slave会得到报错
WARNING Master said 401 Unauthorized
ERROR: we did not get config from the master. Maybe we are not configured as a slave for any of the targets on the master ?
master端的日志也会有报错
2016/09/05 02:05:36 [error] 7667#0: *1774986 no user/password was provided for basic authentication, client: 192.168.X.X, server: xxx.com, request: "POST /smokeping.fcgi HTTP/1.1", host: "xxx.com"
从两端的日志可以得出结论:
master端的web服务器收到来自slave端的连接请求时,要求使用账号密码登录,而slave的请求不带账号密码,所有web服务器拒绝了本次访问
slave由于连不上master,获取不到master上的smokeping配置信息,就判断master上并没有配置该slave,并退出结束进程
处理
从smaleping的启动脚本参数看,让slave带上账号密码去访问master的cgi是没什么希望的了,人家没这功能
只能去掉网站验证的环节了
有几种去掉验证的方式:
1.完全去掉smakeping页面的登录验证
2.去掉smakeping页面的登录验证,用iptables限制允许访问的IP
3.在nginx vhost配置上做IP白名单,使slave服务器访问URL时不用登录验证;非白名单IP访问时依然需要验证账号密码 |
|