在Serverless 应用引擎中,有没有办法让arms记录已经解密的url?[阿里云Serverless]

我们把加密解密放在了gateway里,接口调用里面全是已经加密的内容,有没有办法让arms记录已经解密的url?比如说客户端请求的url是/ncownefla,进行解密后实际的url是/info/my

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
2 条回复 A 作者 M 管理员
  1. 要使 ARMS 能够记录已解密 URL,一种可能的方法是:

    1. 在云原生网关(CNG)内部处理解密逻辑之前,使用自定义过滤器拦截请求并将解密后的原始 URL 作为日志输出到 ARMS。在这种情况下,原始 URL 将被记录为未经过滤的日志数据。
    2. 另外一个方案是,在 CNG 中解密 URL 后,在应用程序层面记录解密后的 URL。这样,ARMS 就可以从应用程序的日志中获得解密后的 URL。
      请注意,这两种方法都需要您自行实现相关逻辑并将其集成到您的系统中。另外,请注意确保 URL 解密过程的安全性,以防止泄露敏感信息。
  2. 在Serverless应用引擎中,ARM(Application Real-Time Monitoring)主要是用于监控应用的运行状态和性能指标,它通常只能看到应用入口的URL,也就是加密前的URL,对于加密后的URL,ARM可能无法直接获取。

    如果你想让ARM记录已经解密的URL,你可能需要在应用中进行一些额外的处理。一种可能的解决方案是在你的应用中捕获所有的请求,然后在请求到达你的业务逻辑之前对其进行解密,然后将解密后的URL记录下来,并通过ARM的监控数据上报接口将其上报给ARM。

    然而,这种方法可能会增加你的应用的负担,因为它需要额外处理所有的请求。此外,这也可能涉及到一些安全和隐私的问题,因为你需要在你的应用中存储和解密所有的请求。

    因此,我建议你首先考虑你是否真的需要解密后的URL,以及是否有必要将这些URL上报给ARM。如果你确定需要这样做,那么你可能需要和你的应用团队或者ARM的团队进行进一步的讨论,以确定最合适的解决方案。

  3. Arms没有这种能力。此回答整理自钉钉群:【3群】Serverless应用引擎(SAE)用户群