华为USG防火墙RESTCONF的坑--终端IP白名单的设置
项目《golang操作华为防火墙ACL实现远程启停》做完后,突然想起RESTCONF接口还没做IP白名单限制呢,会不会所有WAN口的IP都能访问到默认的8447端口?于是找了台云主鸡TELNET测试,果然所有WAN口都能正常访问8447端口。
一、临时解决
外网口设置处,看了下访问管理,只有NETCONF可选,没RESTCONF。然后想起之前在帐号管理处有个受信任主机
设置选项,应该可以设置。果然,经过测试后发现默认没设置白名单时,所有主机都能访问,设置后只有白名单的IP才能通过验证。虽然外网不能登录,但是我感觉这个端口开着总有点不放心,而且我只需要内网访问,能不能对外屏蔽这个API端口呢?
golang net/http tls客户端频繁请求 401 Unauthorized
一、烟零蛋
其实这个问题是《golang操作华为防火墙ACL实现远程启停》里遇到的,项目做完准备交付,测试偶尔遇到前端一直转圈(前后端不分离项目)。经过定位发现卡在了获取防火墙策略状态那里,再fiddler抓包看到了请求发出后一直没数据返回,加上默认http.Client没设置超时处理,导致后端也无法返回数据。
为什么restConf服务不返回数据呢? 用fiddler直接模拟请求,也卡住了,根本没返回消息;再用python来请求,也是没任何数据响应;最后重启restConf服务,api https enable
,问题暂时解决,但是前端多刷新几次后,又出现卡顿了。
一个小项目中使用到了zepto库,前端想实现双击div触发事件,开始用的是doubleTap,移动端可以实现双击点击,但是PC端却没反应。试了jquery的dbclick没生效,google找了很久没找到。
后来在zepto.js源码中搜索click,找到了dblclick,直接测试,成功!
/*
$('.status-bar').doubleTap(() => {
$.toptip('doubleTap','success')
});
*/
$('.status-bar').dblclick(() => {
$.toptip('doubleclick', 'warning')
});
golang操作华为防火墙ACL实现远程启停2---寻找真相
一、摸索
上文提到用go开发的程序对接防火墙api时出现remote error: tls: handshake failure
,虽然通过调低防火墙api security加密算法强度解决了,但是总感觉怪怪的。因为用python和curl 简单测试了下,都能正常访问,难道golang还落后了?
为了搞清楚原因,先是设置了InsecureSkipVerify,测试没效果;再指定tls版本MaxVersion: tls.VersionTLS12, MinVersion: tls.VersionTLS12
,也没效果;改写VerifyPeerCertificate ,直接return nil,测试还是没效果。
怀疑go需要手动指定证书,把cer转成pem后==(用openssl可以转)==,加载到RootCAs,测试还是不行。