ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

利用Nginx反向代理结合S2S实现国外用户访问国内业务系统加速访问

2019-08-15 20:55:09  阅读:602  来源: 互联网

标签:S2S 网关 chinanorthgw Nginx 虚拟机 访问 nginx 国际版


首先业务系统是B/S架构的,在这里我会用到国内版和国际版Azure来模拟这个场景:

注意:构建S2S或专线请按照国家法律法规要求进行备案登记并走合法途径!!!

  • 国内版我会部署1台虚拟机Windows Server 2012 R2(chinanorthgw)做IIS+网关

  • 国际版我会部署虚拟网关和本地网关与国内版的chinanorthgw构建成S2S(模拟专线)

  • 国际版我会部署1台CentOS的虚拟机安装Nginx实现反向代理

  • 每台虚拟机都只有一张网卡并且是内网IP地址

在国内Azure上我新建了一个虚拟网络及子网

north-vnet     172.80.0.0/16      172.80.1.0/24

clip_image001

在这个子网上部署一个网关chinanorthgw虚拟机,提供IIS+网关(S2S服务)

clip_image002

部署好以后可以看懂该虚拟机的公网IP和内网IP

clip_image003

在国际版Azure上我新建了一个虚拟网络及子网

Japan-vnet      192.80.0.0/16       192.80.1.0/24

clip_image004

再在这个子网里部署一台CentOS虚拟机来部署Nginx反向代理

clip_image005

部署好以后可以看到该虚拟机的公网IP地址和内网IP地址

clip_image006

那么接下来首先我需要让国内版的虚拟网络子网和国际版虚拟网络子网打通

在国际版上japan-vent-servers子网上新建网关子网

clip_image007

接下来创建一个虚拟网络网关,这个创建过程大约持续半小时

clip_image008

接下来创建本地网络网关

clip_image009

等待虚拟网络网关创建完成后,接下来继续在本地网络网关上新建连接

clip_image010

新建一个S2S的链接,选择创建好的虚拟网关,设置一个共享密钥即可。

clip_image011

到这里国际版的配置就到一个段落了,接下来回到国内版对chinanorthgw进行下网络配置

开放如下端口

clip_image012

登录到创建好的chinanorthgw虚拟机配置,安装远程访问角色

clip_image013

选择DA和路由后一直下一步直至完成

clip_image014

安装完成,点击关闭

clip_image015

打开路由和远程访问

clip_image016

右键配置并启用路由和远程访问

clip_image017

选择两个专用网络之间的安全连接

clip_image018

下一步

clip_image019

下一步

clip_image020

点击完成

clip_image021

创建一个接口名称

clip_image022

下一步

clip_image023

选择IKEv2,下一步

clip_image024

填写国际版上JapanVirtualGW虚拟网络网关的公网IP地址104.214.139.64 (JapanVirtualGW-IP)

clip_image025

clip_image026

下一步

clip_image027

添加国际版japannginx虚拟机所在的虚拟网络

clip_image028

下一步

clip_image029

直接下一步

clip_image030

对新建好的Azure S2S属性编辑

clip_image031

设置安全为共享密钥,填写国际版上本地虚拟网络网关S2S里的共享密钥

clip_image032

添加一条静态路由,这条路由的目标是Azure上我的虚拟网络Japan-vnet地址192.80.0.0/255.255.0.0/256

clip_image033

已经自动连接好了

clip_image034

同时也可以在国际版本地网络网关——连接——S2S状态里看到已连接

clip_image035

此刻在国内版chinanorthgw虚拟机里ping国际版的japannginx虚拟机内部IP地址192.80.1.4

clip_image036

反之从国际版的japannginx虚拟机ping国内版的chinanorthgw虚拟机内网IP也可以通了

clip_image037

接下来在国内版chinanorthgw虚拟机上安装IIS,并配置一个简单的网页

clip_image038

记得在系统防火墙也开放这个5555端口

clip_image039

接下来就登录到国际版Japannginx虚拟机里配置nginx了

老规矩,还是先设定Root密码并切换到root登陆

Sudo passwd root

[输入zjunsen密码]

[设置root新密码]

[再次输入设置的root新密码]

su -

[输入root密码]

clip_image040

因为我这里是测试环境,这里我就把防火墙和SELinux关掉

clip_image041

clip_image042

重启该虚拟机后登录切换到root账户,然后开始添加Nginx存储库

yum install epel-release

clip_image043

再安装nginx

clip_image044

安装完成以后,启动nginx

systemctl start nginx

clip_image045

查看nginx版本

clip_image046

需要在Azure门户上对该虚拟机开放80端口

clip_image047

然后可以测试打开这个公网IP就看到nginx的网站了

clip_image048

接下来我们要开始做反向代理了,让nginx的80端口去中继到国内版chinanorthgw虚拟机的内网IP地址的IIS站点5555端口

clip_image049

配置nginx.conf文件vim nginx.conf

修改如下,完成后保存退出

clip_image050

让Nginx重新加载nginx -s reload

或重新启动nginx服务systemctl restart nginx

此刻从japannginx虚拟机的公网IP访问看看,可以看到能打开国内chinanorthgw虚拟机上配置的IIS虚拟站点端口为5555的网页了

clip_image051

这样就实现了通过访问Nginx提供的web服务,有nginx代理您的请求从S2S访问到国内chinanorthgw虚拟机上的web服务。当然中间的S2S替换成专线就解决了国外用户访问部署在国内的网站速度问题了。

标签:S2S,网关,chinanorthgw,Nginx,虚拟机,访问,nginx,国际版
来源: https://blog.51cto.com/rdsrv/2429919

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有