一、问题描述
最近在移动端上进行测试时遇到一个问题,文件服务器需要使用特定的VPN软件才能连接访问到,PC端上挂了VPN,接口是可以进行测试的。但是移动端上该怎么做呢。
首先,手机上是没有这个VPN软件的,所以只能想别的办法。
前端运行以后是这样的
手机上就可以访问 192.168.9.22:8090端口了
假设文件服务器地址和端口是 10.11.12.13:9001。此时假设手机上要调用一个下载文件的接口。 10.11.12.13.9001/downloadFile
这时因为手机上是没vpn的,因此是访问不了的,网络是不通的。
二、解决方案
我们在本机电脑上起一个nginx服务,监听当前的ip,端口号随意。
然后在sever下配置location,将接口进行转发代理
此时再用手机上访问 192.168.22.9:8081/downloadFile 这个接口,此时会通过PC端将它转发至文件服务器,会发现是可以访问到的。
三、结尾
其实本质上还是移动端访问到PC端,nginx再将PC端上的请求代理过去,达到没有VPN也能访问的效果。
当然这里只能做一个简单的转发,一般文件服务器还会做其它访问限制,代理过去也不能直接访问到,这里只是提供一种可行的思路。