22.业务域服务器通过dmz访问外网接口
文章目录
业务背景
场景一:
在政企用户中,服务器各域的调用层层严格,各个域中调用的防火墙规则把控复杂.一般分为DMZ(堡垒区),业务区,数据区.中间的层级调用一般规则为,要开什么端口,数据是单向还是双向.一般只允许DMZ访问外网,业务域不允许,但是开发公众号,或支付业务等要访问外网的时候,业务域没法访问,那就麻烦了.
场景二:
大并发项目中,负载架构肯定少不了负载,分布式.例如一个红包业务.各个层级的流量肯定很大,那这样的话,NG层的流量口要买很大的流量,比如买100M,业务层因为也要访问发红包接口或其它接口,也要买很大的流量.流量其实在云服务中,是一个很大的开支.那这样对于企业来说,其实是可以通过流量转移来解决这个问题.
解决办法
流量转移,乾坤大挪移哈哈
1. 接口调用伪装
程序端修改,如程序端需要访问:https://api.weixin.qq.com/获取用户信息接口
可以把接口修改成其它,如:http://mp.weixin.qq.com/获取用户信息接口
或者改成:http://myself.weixin.qq.com/获取用户信息接口
注意,此处为什么要用HTTP,因为HTTPS复杂啊.
2. DNS伪装
修改部署服务的服务器的hosts,伪装DNS
如:mp.weixin.qq.com 10.0.9.11(此为nginx服务器的地址)
那这样的话,再访问http://mp.weixin.qq.com是不是到nginx了,而不是到真正的接口地址了^V^.
==============操作
Vi /etc/hosts
3. Nginx的server配置
|
|
4. 测试
在9.59上访问:
已成功转向9.33并通过9.33访问正确的API地址,把接口结果返回
文章作者 hyy
上次更新 2019-07-11