为了减少性能问题,NSX Advanced Load Balancer 22.1.3 中引入了在配置的间隔内缓存侦测数据的功能。在该间隔内,不会向侦测端点发送侦测消息。缓存的侦测数据将用于授权资源。

对于含糊类型的访问令牌,该令牌不直接用于授权资源,并且客户端无法轻松解析该令牌,这与 JWT(JSON Web 令牌)令牌不同,JWT 令牌是所有数据的自包含结构。

要使用含糊访问令牌授权资源,请与授权服务器/IDP(使用侦测端点)交换访问令牌以接收侦测数据。

NSX Advanced Load Balancer 22.1.3 之前,资源服务器为每个资源操作发送一条侦测消息以检索访问令牌负载(侦测数据),并针对要授权的资源检查该负载。在该方法中,由于每次访问资源时需要额外的往返,因此,性能将会受到影响。

NSX Advanced Load Balancer 22.1.3中,不会默认缓存侦测数据。如果配置了间隔 (introspection_data_timeout),NSX Advanced Load Balancer 将使用侦测数据中存在的配置值和到期值之间的较小值。有关更多信息,请参见侦测端点(第 2.1 节和第 2.2 节)

注:

NSX Advanced Load Balancer 22.1.3 中,仅支持通过 CLI 配置侦测数据缓存。

配置侦测数据超时

配置 introspection_data_timeoutOAuthResourceServer 下面的 introspection_data_timeout 字段定义缓存侦测数据的时间。超时的默认值为 0,这意味着不进行缓存。

[admin: controller] configure virtualservice okta-test
[admin: controller]:virtualservice> oauth_vs_config
[admin: controller]:virtualservice:oauth_vs_config> oauth_settings index 1
[admin: controller]:virtualservice:oauth_vs_config:oauth_settings> resource_server
[admin: controller]:virtualservice:oauth_vs_config:oauth_settings:resource_server> introspection_data_timeout 10
[admin: controller]:virtualservice:oauth_vs_config:oauth_settings:resource_server> save
[admin: controller]:virtualservice:oauth_vs_config:oauth_settings> save
[admin: controller]:virtualservice:oauth_vs_config> save
[admin: controller]:virtualservice> save
[admin: controller]:>