不修改vhosts通过python和shell实现一个域名解析到不同的ip

不修改vhosts通过python和shell实现一个域名解析到不同的ip


curl --resolve chinasoft.com:80:1.1.1.1 "http://chinasoft.com/"

完整示例:
cbs_servers="1.1.1.1:ws_cbs_frontend_web01 1.1.1.2:ws_cbs_frontend_web02"

for cbs_server in ${cbs_servers};do
ip=${cbs_server%:*}
server_name=${cbs_server#*:}
curl --head --resolve cbs.chinasoft.com:443:${ip} "https://cbs.chinasoft.com/"
    if [ $? == 0 ];then
        echo "${server_name}-${ip} is ok"
    else
        echo "${server_name}-${ip} config error"
        exit 1
    fi
done


python的实现方式

 

# 不同的服务器,配置多个不同的域名,需要判断证书是否配置正确,可以用如下方法进行判断
list_servers="1.1.1.1:eus_access_gw02 1.1.12:eus_access_gw03"

#domain_name="event.chinasoft.tw"

domains="event.chinasoft.cn event.chinasoft.com.br event.chinasoft.com"

# 
for domain_name in ${domains};do

    for server_one in ${list_servers};do
    ip=${server_one%:*}
    server_name=${server_one#*:}
    curl --head --resolve ${domain_name}:443:${ip} "https://${domain_name}/"
        if [ $? == 0 ];then
        echo "domain:${domain_name}  server:${server_name}-${ip} is ok"
        echo "\n"
        else
        echo "domain:${domain_name} server:${server_name}-${ip} config error"
        echo "\n"
        exit 1
        fi
    sleep 1
    done

done

 

 



import requests
requests.get('https://192.168.1.10',headers={'Host':'chinasoft.com'},verify=False)

或者

import urllib2
req=urllib2.Request('https://https://192.168.1.10',headers={'Host':'chinasoft.com'})
urllib2.urlopen(req)
#urllib2  https会自动忽略证书

posted @ 2020-05-29 21:11  reblue520  阅读(240)  评论(0编辑  收藏  举报