背景

在有些公司,客户端和服务端联调必须要在测试环境才能通,开发环境,本地环境都是不通的。

那么,出现问题的时候,服务端的同学很难在本地进行调试,只能按照自己的思路,修复问题再部署到测试环境,这个部署的时间可能就是半小时,而已好不能能解决问题,这是非常低效的工作方式。

如果让SIT环境的APP连接开发同学本地服务进行调试呢?

方法一:Charles 远程映射

APP配置Charles代理

  • 保证手机和电脑在同一个局域网内
  • 一般代理ip为charles所在的局域网ip,端口默认是8888

代理客户端请求本地调试方法_反向代理

ps:配置完成之后,手机上的请求就会被charles拦截。

配置远程映射

代理客户端请求本地调试方法_测试环境_02

ps:代理请求目录时,原路径需要以*结尾,例如:/myService/*

方法二:Nginx 反向代理

配置Nginx反向代理

1)下载nginx软件

2)配置nginx.conf文件

worker_processes  1;
events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
                # 代理端口80
		listen       80;
		
		# 通过子域名进行反向代理,只有匹配server_name才会进来
		server_name  clientproxy.sit.xxx.com;
		
                # 如果是请求userauth转发到本地
		location ~ /userauth/ {
		
			proxy_pass http://localhost:8099;

			#将代理服务器收到的用户的信息传到真实服务器上
			proxy_set_header Host            $host;
			proxy_set_header X-Real-IP       $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			
			index  index.html index.htm;
		}

		# 错误页
		error_page   500 502 503 504  /50x.html;
		location = /50x.html {
			root   /usr/share/nginx/html;
		}
	}

}

3)启动nginx

  • windows环境:直接双击nginx.exe即可
  • linux环境:nginx -c ./conf/nginx.conf

APP配置Nginx代理

  • 保证手机和电脑在同一个局域网内
  • 一般代理ip为nginx服务所在的局域网ip,端口默认是80
  • 设置方法和上面相同
kancy