liunx动态获取ip解决花生壳动态域名失效问题
现象描述:
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