首页 > 代码库 > 反向代理在APP通过无线路由接入3G/4G时的特殊作用

反向代理在APP通过无线路由接入3G/4G时的特殊作用

 

    由于某些需求,要临时搭建局域网络,给小范围内大量移动客户端提供特定的网络服务,这样的服务通常包含常见的HTTP服务、数据文件下载服务、RESTFul接口服务等。市面常见的非企业级WIFI路由器能够承受的用户连接不会太大,一般也就数十个,便携的MIFI用户连接更少,连接超过十多个就无法正常使用了,同时根据现实条件,时常是需要使用3G/4GWIFI路由提供网络支撑,若APP需要下载一些离线数据包,这样的网络非常容易崩溃。若要支持大量用户,在不提升硬件级别的条件下,只能增加若干WIFI设备进行扩容,但这从根本上没有解决并发下载大数据包的问题。

    以下介绍一种利用反向代理缓存大数据,减轻WIFI内下载大数据包对网络的影响,同时支持RESTFul接口连入Internet的方法。

    参见上图,左侧是供APP接入的局域网,右侧是Internet环境。局域网中,虚线表示APPInternet Web接口的连接,此连接只是短连接,提供小数据量的接口服务,并接入Internet;实线表示大数据连接,可提供持久的大数据缓存服务。

    此图中关键的设备是反向代理服务器(Reverse Proxy Server),此服务器同时还需作为DNS服务器。经过模拟,使用Nginx提供反向代理功能,在Nginx的配置中,添加大数据(安装包、压缩包、图片等)文件的本地目录,对API接口则转发到Internet交由更强大的云Server进行数据和逻辑处理。Nginx的配置可参考如下:

 

    server {
        listen       80;
        server_name  domain.com;
 
        location / {
        proxy_pass http://domain.com;
        }

    location ~ \.zip$ {
         root   CacheFiles;
    }

    location ~ \.apk$ {
         root   CacheFiles;
    } 
         
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

 

利用这种网络和软件的配置模式,优点如下:

1、局域网设备配置要求相对较低

2、可复制性高,操作简易,可快速复制多个相同网络

3、本地数据传输速度较快,对3G/4G接入不产生压力

4、用户体验较好,真正实现了无缝接入,包含了数据包和接口的无缝接入

5、无需再次进行分网段引起的数据同步

以上内容还处于理论和试验阶段,有待近期投入实际运作进行验证。欢迎指正!