一、需求場景:
有數據中心A和B。只有數據中心B內的服務器可以訪問www.b.com。如今,數據中心A中有一臺服務器A2也需要訪問www.b.com。
數據中心A中有一臺有公網IP的Nginx服務器A1。數據中心B中有一臺存在內網的Nginx服務器B1,通過路由器上網。
二、想法:
可以使用×××或者代理,不過對於此需求,使用Nginx的反向代理功能來實現顯得更加容易。
三、實踐:
1、在A2的hosts文件中添加內容爲“需要訪問的域名到A1的IP”的解析。
172.22.0.4 www.b.com
2、在數據中心B的路由器上將B1的8001端口通過路由器映射出來。
3、在A1的hosts文件中添加解析。
10.0.2.2 tz.b.com
4、在A1配置反向代理。跳轉地址爲數據中心B的Nginx的地址。
server { listen 80; server_name www.b.com; location / { proxy_pass http://tz.b.com:8001; } }
5、在B1配置反向代理。跳轉地址爲需要訪問的域名。
server { listen 8001; server_name tz.b.com; location / { proxy_pass http://www.b.com; } }