如何强制实施url仅在Mulesoft中从代理侦听?
现在可以使用client_id,client_secret等保护代理。但是,实现url不安全。偶然地,如果有人知道实现URL,那么它就有潜在的风险。
有什么方法可以强制实现url仅侦听代理。
(或)我们可以向实施网址添加策略吗?
答案 0 :(得分:1)
Mulesoft文档setting-up-an-api-proxy指出,代理应用程序不过是一个ule子应用程序,它模拟了实际服务实现的契约行为,并对实际API进行服务调用以实现请求。因此,建议使用HTTPS代替HTTP,以增强安全性和数据完整性。由于Mulesoft建议在HTTP子代理和服务实现之间使用HTTPS协议进行连接,因此利用HTTPS协议,一种选择是尝试在代理和实现之间强制使用两种方式的SSL ,这将帮助您接受仅来自合法客户的请求。
检查主题enable-two-way-ssl-in-mule以获得更多实施细节
第二个选项是在实际的服务实现上启用策略,即在您的服务上启用api-auto-discovery。 尽管您可以做到,但是由于以下原因,这将是开销:
api-gateway runtime
或mule 3.8
上运行
开始运行,因为较旧的m子版本不支持策略。可以通过在API xml中包含以下XML代码段来实现该实现。
<api-platform-gw:api apiName="app-${env}" version="${api.version}" flowRef="api-main" create="true" apikitRef="api-config" doc:name="API Autodiscovery" />
结论:
- 实施2种方式的SSL以实施基于客户端-服务器证书的身份验证
- 将自动发现添加到服务实施中,以便在实施层上也应用策略
答案 1 :(得分:0)
Mulesoft文档建议添加VPC。当我们测试http是在VPC中工作时,而不是https。
由于https是强制性要求,并且我们无法通过VPC进行操作,因此我们以其他方式对其进行了修复。
我们在代理代码处添加了一个自定义标头,并在实现中对该标头进行了验证。
这是推出的修复程序