js_fetch_ciphers
指令 'js_fetch_ciphers' 指定在 NGINX 中通过 JavaScript 获取加密数据时要使用的 TLS 密码套件。
NGINX njs dynamic modules
·
streamstream server
语法js_fetch_ciphers "CIPHER_LIST";
默认值none
上下文stream, stream server
参数1
说明
'js_fetch_ciphers' 指令在 NGINX 流媒体上下文中使用,用于定义 NGINX 服务器建立的安全连接应使用的密码套件。具体来说,该指令允许开发者从在 NGINX 中执行的 JavaScript 代码中直接配置 TLS 设置,从而增强服务器在处理 TLS 连接时的灵活性。它接受一个参数,该参数是一个字符串,列举了 OpenSSL 文档中指定的密码套件名称。
在运行层面,当指定 'js_fetch_ciphers' 时,NGINX 服务器会相应地调整其 SSL/TLS 握手过程,允许使用列出的密码进行安全会话协商。这对于需要严格遵守有关密码使用的安全策略的应用尤其有用。该指令支持通过 JavaScript 进行动态修改和实时配置调整,使开发者能够在不重新加载服务器全局配置的情况下调整 TLS 设置。
重要的是要确保所指定的密码是有效的,并且与 NGINX 使用的底层 OpenSSL 版本兼容。如果列表中包含不安全的密码,错误配置可能导致连接失败或引入安全漏洞。建议对已配置的密码套件进行已知漏洞检测,以保持安全环境。
配置示例
stream {
js_fetch_ciphers "HIGH:!aNULL:!MD5";
server {
listen 443;
proxy_pass backend;
}
}⚠
确保密码套件列表符合 OpenSSL 标准;否则可能导致连接失败。
⚠
列出的密码套件必须得到与 NGINX 一起使用的 OpenSSL 版本的支持。
⚠
在列表中包含弱或已弃用的密码套件时要谨慎。