我正在尝试使用WSO2 API Manager为我的RESTful API设置代理 . 我的问题是来自后端API的响应保持不变,因此连接到其他 endpoints 的所有URL仍然引用后端服务器而不是代理 . 我需要一种方法来替换响应体中的url值以指向代理api . 我知道这可以通过Mediation Extensions,使用ESB Mediators来完成 .
我不熟悉他们选择一个更适合这份工作的人 . URLRewrite mediator看起来很简单,但它似乎不适用于邮件正文而是 Headers . Payload Factory似乎需要一个固定的消息结构,这对我来说不是很方便,因为我需要它来处理我的API提供的不同响应(我不想在中介定义中维护这些结构) .
1 回答
我设法通过设置我的应用程序检查以构建其URL的头文件来解决它:
X-Forwarded-Host
和X-Forwarded-Proto
.所以我创建了一个Header Mediator,它看起来像:
这就是诀窍 .