内容简介:通过支持动态证书加载,SSL/TLS 证书现在可以按需加载,不需要在配置文件中明确地列出。根据 TLS 握手期间由服务器名称指示(Server Name Indication,简称 SNI)提供的主机名,NGINX Plus 现在可以动态地加载正确的证书。这允许在单个服务配置下托管多个安全网站。在 NGINX Plus 之前的版本中,每个安全主机名都需要在配置文件中有自己的 server 代码块,静态地把证书和私钥指定为磁盘上的文件。这也意味着,当添加新主机名时,都必须重新加载配置。
NGINX 已经发布了 NGINX Plus 18 版本 (R18),这是它们一体化的负载平衡器、内容缓存和 web 服务器。该版本的特性包括支持 动态证书加载 、对 OpenID Connect 实现的增强以及为虚拟服务器指定端口范围的能力。
通过支持动态证书加载,SSL/TLS 证书现在可以按需加载,不需要在配置文件中明确地列出。根据 TLS 握手期间由服务器名称指示(Server Name Indication,简称 SNI)提供的主机名,NGINX Plus 现在可以动态地加载正确的证书。这允许在单个服务配置下托管多个安全网站。
在 NGINX Plus 之前的版本中,每个安全主机名都需要在配置文件中有自己的 server 代码块,静态地把证书和私钥指定为磁盘上的文件。这也意味着,当添加新主机名时,都必须重新加载配置。
借助该新功能,现在可以在配置中只有一个 server 块来安全地托管任意数量的站点:
复制代码
server{ listen443ssl; ssl_certificate/etc/ssl/$ssl_server_name.crt;# Lazy load from SNI ssl_certificate_key/etc/ssl/$ssl_server_name.key;# ditto ssl_protocolsTLSv1.3TLSv1.2TLSv1.1; ssl_prefer_server_cipherson; location/ { proxy_set_headerHost$host; proxy_passhttp://my_backend; }
有了这个设置,基于 $ssl_server_name 变量的值,证书能够根据需要从硬盘延迟加载。然后,证书和 key 将会缓存在文件系统缓存的内存中。只要变量的值在 SNI(这是在读取请求行和头信息之前发生的)期间是可用的,那么就可以在那里使用它。
还可以在内存中(在键 - 值对存储中)存储 SSL/TLS 证书数据,而不是作为文件存在磁盘上。这允许证书通过 Plus API 以程序的方式进行安装。NGINX 建议 Plus 的整个集群部署都这么操作,因为证书数据将只需要上传一次,就可以自动传播,或者用于自动与证书颁发者(如 Hashicorp Vault )集成。
在这两种情况下,在初始证书加载期间都会产生性能损失。证书加载过程只在 TLS 握手期间发生,一旦会话建立,请求处理将正常进行。根据 NGINX 的说法,该损失将造成初始 TLS 握手过程延长 20-30%。
该版本还包括 主动健康检查 功能的改进。该版本引入了 require 指令,允许测试任何变量的值,包括标准变量和用户定义的变量。match 块中的 require 指令允许检查一个或多个变量必须有非零值才让测试通过。
进一步的健康检查改进包括允许用 proxy_session_drop 指令来 终止第 4 层连接 。之前,如果已建立的客户端连接到的服务器不健康,那么,它们可能会遇到超时。这是因为,之前只在新客户端尝试建立连接时才考虑后端服务器的健康状态。新的 proxy_session_drop 指令将允许立即关闭该连接。启用该指令后,还可以通过一个主动健康检查的失败或上游组中服务器的删除(例如,通过 DNS 查找来删除)来触发连接终止。
该版本提供的其他功能包括:
-
现在,OpenID Connect 实现支持不透明会话令牌、刷新令牌和注销 URL
-
NGINX Plus 服务器现在可以配置为监听指定范围的端口(如 80-90)
-
现在可以用配置中的变量直接创建键 - 值对
关于该版本中包含的更多细节和其他功能,请参阅 NGINX 博客中的 官方声明 。NGINX Plus 可以作为 NGINX 应用平台的一部分 进行试用 。
阅读英文原文: NGINX Plus Release 18 Available with Support for Dynamic Certificate Loading
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- nginx 稳定版 1.16.0 发布,支持动态加载 SSL 证书
- nginx 稳定版 1.16.0 发布,支持动态加载 SSL 证书
- RHCE证书,CCNA证书
- DV SSL证书和其他证书有什么不同?
- 生成根证书CA及签发子证书及配置站点实践
- OpenSSL命令速查手册:证书、私钥与证书签名请求文件
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。