不修改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会自动忽略证书