18910140161

nginx是否可以拦截程序请求第三方api 并且返回json

顺晟科技

2022-09-15 18:17:13

193

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上,一般是放在程序上,更新迁移都比较好管理.

我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航