代理客户端请求本地调试方法
背景
在有些公司,客户端和服务端联调必须要在测试环境才能通,开发环境,本地环境都是不通的。
那么,出现问题的时候,服务端的同学很难在本地进行调试,只能按照自己的思路,修复问题再部署到测试环境,这个部署的时间可能就是半小时,而已好不能能解决问题,这是非常低效的工作方式。
如果让SIT环境的APP连接开发同学本地服务进行调试呢?
方法一:Charles 远程映射
安装 Charles
1)百度云盘下载 (提取码: wxgs)
2)阿里云盘下载
3)蓝奏云下载
4)官网下载
APP配置Charles代理
- 保证手机和电脑在同一个局域网内
- 一般代理ip为charles所在的局域网ip,端口默认是
8888
ps:配置完成之后,手机上的请求就会被charles拦截。
配置远程映射
编辑映射
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;
}
# 其他情况,走原来的地址
location / {
proxy_pass $host;
#将代理服务器收到的用户的信息传到真实服务器上
#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