首页 > 解决方案 > 如何识别执行请求的客户端应用程序

问题描述

我编写了一个可供多个客户端应用程序使用的 Java (Spring-Boot) 服务。对于维护/统计,我想记录哪些应用程序访问了该服务。如何在不信任客户端的情况下识别客户端应用程序?

附加信息

方法

这个想法可能是使用公钥身份验证并将私钥绑定到协议/IP/端口组合之类的东西。第一部分(公钥认证)将帮助对良好维护/统计感兴趣的客户。第二部分(绑定)在我看来是一个死胡同,因为我不知道我可以用什么来绑定:

有任何想法吗?

标签: javaspring-bootdockertraefikdocker-networking

解决方案


您还可以通过 http 标头中的令牌添加授权。并重写所有客户端代码以在部署时从环境中获取令牌(不要在存储库的代码中硬编码令牌)。

因此,即使新客户端通过复制粘贴代码出现,它也需要从您那里获取令牌。您可以管理对不同应用程序的访问,并且如果其中一个应用程序的负载异常,您可以“禁止”此应用程序(或通过降低此特定令牌的响应速度来降级)/


推荐阅读