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
经验分享 程序员 微信小程序 职场和发展