现象描述:
1. 我们有些客户是在公司内网,但是也想在外网访问,所以这个时间就想到使用花生壳来实现,搭建nginx来进行反向代理到花生壳域名。
2.搭建完花生壳动态域名解析服务和nginx反向代理服务后,会经常出现使用外网域名访问出现502的问题。
问题定位:
经过分析发现是花生壳的域名ip一直在变,导致nginx解析不到最新ip(nginx的有dns解析的方法,但是我没有试验成功)。
解决方法:
1、先安装获取域名ip的工具
yum install -y bind-utils
2、选中一个目录,新建yuming.txt
www.baidu.com,119.128.113.50
3、同目录下新建脚本jiexi.sh
#!/bin/bash
function lookupSingleIp(){
for ip in $@;
do
array=(${ip//,/ })
domain=`nslookup ${array[0]} | egrep 'Address:' | awk '{if(NR==2) print $NF}'` #查询IP地址
echo "$ip $domain"
if [ "${array[1]}" != "$domain" ];then
sed -i "s/${array[1]}/$domain/g" yuming.txt #替换ip
/usr/local/nginx/sbin/nginx -s reload #重启nginx
fi
done
}
cat yuming.txt | while read line
do
[[ -n $line ]] && lookupSingleIp $line;
done
4、执行jiexi.sh,
./jiexi.sh
执行后结果
www.baidu.com,119.128.113.50 119.128.113.74