grpc_ssl_protocols

指令 `grpc_ssl_protocols` 用于设置 gRPC 通信允许的 SSL/TLS 协议。 — NGINX HTTP Core

grpc_ssl_protocols
httpserverlocation
语法grpc_ssl_protocols protocol1 protocol2 ...;
默认值none
上下文http, server, location
模块NGINX HTTP Core
参数1+

说明

`grpc_ssl_protocols` 指令允许配置由 NGINX 处理的 gRPC 连接可用的 SSL 和 TLS 协议。用户可以指定服务器在安全通信中接受的协议列表,通过排除过时和易受攻击的协议版本来提高安全性。该指令可以在诸如 `http`、`server` 或 `location` 等不同上下文中定义,根据应用需求提供配置灵活性。 该指令的有效参数通常包括常见的 SSL/TLS 版本,例如 `TLSv1`、`TLSv1.1`、`TLSv1.2` 和 `TLSv1.3`,允许管理员对应用使用的安全标准进行精细控制。此外,在 `http` 上下文中定义此指令将使设置在整个服务器范围内生效,而在 `server` 或 `location` 上下文中定义则可实现更细粒度的控制,可能为不同的 gRPC 服务启用不同的协议设置。关键在于以满足安全要求和客户端兼容性考虑的方式排列所指定的协议。

配置示例

server {
    listen 443 ssl;
    grpc_ssl_protocols  TLSv1.2 TLSv1.3;
    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;
}

使用像 SSLv3 这样的过时协议可能导致安全漏洞,例如 POODLE 攻击。

配置不当可能导致客户端兼容性问题,例如当客户端不支持指定的协议时。