一、介绍
请求代理程序(AngusProxy)提供两个方面作用:
- 代理Http和WebSocket协议接口调试请求,解决浏览器跨域限制问题。
- 对代理请求客户化处理支持,允许用户对代理请求进行二次处理,如:请求参数签名。
二、类型
为了满足不同的使用环境场景,AngusTester提供了四种类型选择代理方式。
- 无代理:通过浏览器直接请求接口,对非同源访问接口服务器端需要取消跨域限制。
- 客户端代理:需要在访问浏览器所在电脑中安装”代理程序“,配置后将使用客户端代理发送请求。
- 服务端代理:需要将”代理程序“单独安装在共享网络的服务器主机,使用服务端代理无需用户在各自电脑中安装代理程序,配置后将使用服务端代理发送请求。推荐方式。
- 云代理:通过AngusTester云服务器节点请求接口,注意:不能访问到客户内网服务地址。
对于以上代理类型,您可以在调试接口右侧信息栏"接口代理"中根据使用场景自由选择。
三、安装
第一步:点击下载 AngusProxy 安装包。
第二步:下载安装包后,将安装包移动到自定义安装目录并解压。
如果要修改代理地址或其他配置信息,请查看下面"配置"。
四、配置
# 代理服务器绑定IP,默认为 0.0.0.0。
angusproxy.serverIp=0.0.0.0
# 代理服务器绑定端口,默认为 6806。
angusproxy.serverPort=6806
# 代理服务器代理端点,默认为 /angusProxy。
angusproxy.wsPath=/angusProxy
## 在Netty HTTP服务器上启用SSL选项,默认为false。
angusproxy.useSsl=false
## 启用Netty日志。建议仅在调试模式下打开,默认为false。
angusproxy.enableNettyLog=false
# 允许的最大请求大小,默认为 1000 * 1024 * 1024(1000MB)。
angusproxy.maxContentLength=1048576000
# 发送代理请求的HTTP客户端连接的最大数量,默认为 128。
angusproxy.maxHttpConnectionNum=128
# 最大连接超时,单位为毫秒,默认为 5000。
angusproxy.maxConnectTimeout=5000
# 最大请求超时时间,单位为毫秒,默认不超时。
angusproxy.maxRequestTimeout=-1
# 最大读取超时时间,单位为毫秒,默认不超时。
angusproxy.maxReadTimeout=-1
# 允许的最大HTTP重定向次数,默认为3。
angusproxy.maxRedirects=3
# 代理服务器处理请求的线程前缀,默认为 AngusProxy-Threads。
angusproxy.threadNamePrefix=AngusProxy-Thread
五、运行
第一步:启动代理并查看启动日志。
> ./startup-proxy.sh
AngusProxy started, PID=70211
第二步:查看代理启动日志。
> tail -f -n100 logs/angusproxy.log
01/17 17:55:45.282 [main] INFO Load target sample handler: cloud.xcan.angus.core.handler.HttpDynamicValueHandler
01/17 17:55:45.286 [main] INFO Load target sample handler: cloud.xcan.angus.core.handler.HttpAssertionHandler
01/17 17:55:45.522 [nioEventLoopGroup-2-1] INFO #############################################
_ _ ___ __ __ _ __ __ _ ___ _ _ ____ ____ ____ __ _ _ _ _
( \/ ) __)/ _\ ( ( \___ / _\ ( ( \/ __) )( \/ ___)__( _ ( _ \/ ( \/ | \/ )
) ( (__/ \/ (___) \/ ( (_ ) \/ (\___ (___) __/) ( O ) ( ) /
(_/\_)___)_/\_/\_)__) \_/\_/\_)__)\___|____/(____/ (__) (__\_)\__(_/\_|__/
01/17 17:55:45.523 [nioEventLoopGroup-2-1] INFO *** Start angus proxy successfully and 0.0.0.0:6806 is ready [PID=70892] ***
01/17 17:55:45.525 [nioEventLoopGroup-2-1] INFO *** Request proxy endpoint: ws://192.168.1.4:6806/angusProxy ***
日志包含 Start angus proxy successfully
则表示启动成功。
第三步:配置并使用代理。
如果用户本地安装的"客户端代理",在调试接口右侧信息栏"接口代理"中修改代理地址,配置如下图:
如果是在服务器上安装的代理,需要共享给租户下所有用户使用,在调试接口右侧信息栏"接口代理"中修改代理地址,配置如下图:
六、停止
./shutdown-proxy.sh
Attempting to stop the process through OS signal.
Proxy process is stopped