NGINX能否向PHP-FPM传递客户端连接所用的TLS协议版本参数
可以实现,操作步骤如下
- 打开对应站点的NGINX配置文件,定位到处理PHP请求的
location ~ \.php$配置块 - 在块内现有
fastcgi_param配置组的末尾,新增如下配置:
fastcgi_param TLS_VERSION $ssl_protocol;
其中$ssl_protocol是NGINX内置变量,会自动返回当前客户端连接使用的TLS协议版本,取值包括TLSv1、TLSv1.1、TLSv1.2、TLSv1.3等。
- 执行
nginx -t校验配置语法是否正确,确认返回success后执行nginx -s reload重载NGINX配置即可生效。
PHP侧获取方式
重载配置后,直接在PHP代码中通过$_SERVER['TLS_VERSION']就能读取到当前连接对应的TLS版本值。
扩展说明
如果需要传递更多TLS相关的客户端连接信息,还可以使用NGINX的其他内置SSL变量,按同样的规则新增fastcgi_param配置即可传递给PHP:
$ssl_cipher:当前连接使用的加密套件$ssl_ciphers:客户端支持的全部加密套件列表$ssl_client_serial:客户端证书序列号(需开启客户端证书校验)
内容的提问来源于stack exchange,提问作者Alexey Ignatyev
相关产品推荐
相关产品推荐

