Express使用http-proxy-middleware

问题:在项目中用到Express做服务器,使用了http-proxy-middleware来代理dotNet core server的API请求,遇到一个POST的认证请求的request body没有传递成功导致认证失败。

错误信息如下:

{ "statusCode": 408, "message": "Reading the request body timed out due to data arriving too slowly. See MinRequestBodyDataRate."}

解决办法:

发现原来是我使用了express.json()中间件,而这个中间件是基于body-parser上封装的,而把http-proxy-middleware放在express.json()中间件之后,才导致出现上述问题。

作者提出了两个解决办法,一种是在onProxyReq事件中处理request body,另一种则是把http-proxy-middleware放在express.json()中间件之前。

https://github.com/chimurai/http-proxy-middleware/issues/40

posted @ 2019-05-08 16:07  多一点坚持  阅读(1699)  评论(0编辑  收藏  举报