nginx是否可以拦截程序请求第三方api 并且返回json
nginx是否可以拦截程序请求第三方api 并且返回json
比如
php curl 请求一个第三方接口,不通过程序代码去拦截,想通过nginx或php-fpm或别的拦截这个域名请求并且返回json
回答:
以api xx.xxx.com/xxx/aaa/api
为例:
hosts将域名指向本地127.0.0.1 xx.xxx.com
nginx构造下路径
location ~ ^/xxx/aaa/api { default_type application/json;
return 200 '{"status":"success","result":"nginx json"}';
}
这种方法如楼上所说,叫中间人攻击(在真实场景中更复杂,需要用到伪基站)。
很多软件的破解方法也都是用这种方式。
回答:
不改代码,拦截请求,你要的是中间人。
mitmproxy 或者 charles 都行吧。
回答:
那你必须是让访问第三方api接口的请求通过nginx,比如你的访问第三方的接口是https://site.com/redirect?url...,url后面是跟着你的访问第三方的接口,由后端接受,统一转发,如果你的程序是这样设计的就没问题,这样就没问题,但是如果不是通过nginx,而是直接由客户端发送,那就不行了,而且一般不会把这块逻辑放在nginx上,一般是放在程序上,更新迁移都比较好管理.
以上是 nginx是否可以拦截程序请求第三方api 并且返回json 的全部内容, 来源链接: utcz.com/p/938110.html