grpc_ssl_server_name

启用在 gRPC SSL 握手中使用服务器名称以匹配 Server Name Indication (SNI)。

语法grpc_ssl_server_name on | off;
默认值off
上下文http, server, location
参数flag

说明

在 NGINX 配置中,grpc_ssl_server_name 指令用于在 gRPC 连接的 SSL 握手中包含服务器名称。这使 NGINX 能够满足客户端的 Server Name Indication (SNI) 要求,帮助根据指定的主机名将连接正确路由到相应的后端服务器。启用此指令后,服务器可以在相同的 IP 地址上托管多个 SSL 站点,并通过各自的域名进行区分。

该指令可以在多种上下文中指定,包括 httpserverlocation,在整个配置文件中提供灵活的应用方式。将此指令设置为 'on' 后,NGINX 服务器会使用 gRPC 请求中包含的服务器名称用于其 SSL 配置,从而能够正确选择与域名匹配的 SSL 证书集合。在多个 gRPC 服务托管于同一服务器的环境中,这一点尤其有用。

需要注意的是,启用 grpc_ssl_server_name 可能需要对 SSL 证书进行仔细管理,以确保它们为 SNI 正确配置。如果使用多个域,请确保它们使用有效的 SSL 证书妥善保护,以实现可靠的通信。该功能强调了与期望 SNI 支持以正常工作的 gRPC 客户端的互操作性。

配置示例

server {
    listen 443 ssl;
    grpc_ssl_server_name on;
    ssl_certificate /path/to/certificate.pem;
    ssl_certificate_key /path/to/key.pem;
}

确保为每个服务器名称安装并配置正确的 SSL 证书,以避免握手失败。

如果在 NGINX 前使用负载均衡器,请验证其是否支持 SNI 并正确转发服务器名称。

此指令在纯 HTTP 环境中不受支持,仅适用于启用 https 的配置。

← 返回所有指令