grpc_ssl_verify_depth

`grpc_ssl_verify_depth` 指令设置 gRPC 通信中 SSL 证书链的最大验证深度。 — NGINX HTTP Core

grpc_ssl_verify_depth
httpserverlocation
语法grpc_ssl_verify_depth number;
默认值none
上下文http, server, location
模块NGINX HTTP Core
参数1

说明

在 NGINX 配置中,`grpc_ssl_verify_depth` 指令用于指定在处理 gRPC 请求时 SSL 验证链中允许出现的中间证书的最大数量。该指令在处理基于 SSL 的 gRPC 时尤为重要,因为它有助于控制证书验证过程,防止验证过程中出现循环或过深的证书链。通过设置此指令,管理员可以在保证安全性的同时兼顾运行性能,确保客户端连接到预期的服务器。 该指令采用一个整数值,定义 SSL 证书验证允许的最大深度。例如,如果设置为 '3',则在到达信任锚点之前,证书链最多可以包含三个中间证书。在颁发多个证书且需要管理证书链深度以防超出既定要求的配置中,这一点很有用。此外,如果验证深度超过此限制,NGINX 将终止连接,从而在不对验证过程造成过大负担的情况下加强安全策略的执行。 此指令可以在多个上下文中指定,包括 `http`、`server` 和 `location`,根据配置的作用域实现细粒度控制。应根据服务器端和客户端已知的证书结构调整该值。

配置示例

http {
    server {
        location / {
            grpc_pass grpc://backend;
            grpc_ssl_verify on;
            grpc_ssl_verify_depth 3;
        }
    }
}

根据证书链深度适当设置该值,以避免不必要的连接失败。

请记住将 `grpc_ssl_verify_depth` 与 `grpc_ssl_verify on;` 配对使用,以实现有效的证书验证。

仅在必要时设置更高的深度,以防潜在的性能问题。