赞
踩
为了能够稳定的采集一些app的详情页数据,就得借助xposed,xposed跟NanoHTTPD配合使用就可以在手机端开启接口服务,直接调用手机端的接口就能获取我们想要的数据,但是一台设备往往会遇到风控问题,这时就需要一个集群。
整个业务框架如上图所示,装了xp模块的手机和本地电脑通过frp进行内网穿透,这样就能外网访问到本地电脑和xp模块,同时本地电脑上通过nginx配置了负载均衡,这样就能把客户端的请求均匀的分配到不同的手机上。
准备一台云服务器,并安装好frp服务端,frp的下载安装这里就不赘述了,直接把配置贴出来。frps.ini配置:
[common]
token = 1234
bind_port = 7000
vhost_http_port = 8080
准备三台手机(根据自己业务来定),手机上需要安装frp安卓端app,点击右上角加号>>新增配置文本,配置好之后保存,分别命名为jdxp01、jdxp02、jdxp03。
jdxp01配置:
[common]
token = 1234
server_addr = 云服务器ip
server_port = 7000
[jdxp01]
type = tcp
local_ip = 127.0.0.1
local_port = 50000 # xp模块接口服务端口
remote_port = 5001
jdxp02配置:
[common]
token = 1234
server_addr = 云服务器ip
server_port = 7000
[jdxp01]
type = tcp
local_ip = 127.0.0.1
local_port = 50000 # xp模块接口服务端口
remote_port = 5002
jdxp03配置
[common]
token = 1234
server_addr = 云服务器ip
server_port = 7000
[jdxp01]
type = tcp
local_ip = 127.0.0.1
local_port = 50000 # xp模块接口服务端口
remote_port = 5003
再准备一台本地电脑,装好frp客户端,打开frpc.ini,配置如下:
[common]
token = 1234
server_addr = 云服务器ip
server_port = 7000
[tbapi]
type = http
local_port = 80
remote_port = 8080
custom_domains = 云服务器ip
设置完之后开启所有frp客户端
在本地电脑上装好nginx,打开nginx.conf,配置如下:
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; client_max_body_size 50m; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; upstream jdxp { server 云服务器ip:5001; server 云服务器ip:5002; server 云服务器ip:5003; } server { listen 80; server_name 云服务器ip:8080; #charset koi8-r; #access_log logs/host.access.log main; location / { # root html; # index index.html index.htm; proxy_pass http://jdxp; } } }
以上配置是以轮询的方式去分配流量,客户端访问8080端口,流量就通过内网穿透到了本地电脑,本地电脑再通过nginx负载均衡以轮询的方式将流量分配到5001-5003端口,5001-5003就会穿透到xp模块上。
配置完成后开启所有frpc客户端和nginx,通过8080端口调用xp接口测试一下,从返回的结果可以看出,每次请求都是分配到不同手机。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。