如何本地调试有IP限制的三方接口
经常碰到三方接口有 ip 限制,需要将我们这边的 ip 地址加入对方的白名单才能进行访问测试。
这就给测试增加了难度,有以下原因
- 本地 ip 是动态的
- 不允许将本地 ip 提供给三方
以前每次测试都提交到测试环境,然后测试,改动多的话就会特别麻烦。
后面查找有没有方法本地就可以测试,发现 http 代理可以实现,配合 guzzle 的代理使用特别方便。
resolver x.x.x.x; #指定DNS服务器IP地址(需替换成自己的)
location / {
proxy_pass https://$http_host$request_uri; #设定代理服务器的协议和地址
proxy_set_header HOST $http_host;
proxy_buffers 256 4k;
proxy_max_temp_file_size 0k;
proxy_connect_timeout 30;
proxy_send_timeout 60;
proxy_read_timeout 60;
proxy_next_upstream error timeout invalid_header http_502;
}
但是这个有几个问题
- 没有防护,所有人都能使用此代理(已经看到很多访问了:()
- 目前没法通过域名设置代理,只能通过 ip 加端口,所以代理都是
127.0.0.1:8080
这种。 - 没法直接访问 https 请求,需要将改成 http 在
proxy_pass
指定协议 https (每次设置都很麻烦)
大家有没有 “优雅” 的方式调试这种三方 ip 限制的接口?
推荐文章: