nodejs12如何在代码内设置tls协议版本
发布于 5 年前 作者 gxsandzxl 8886 次浏览 来自 问答

在nodejs v12版本中发送http请求时遇到如下错误:

Error: Error: write EPROTO 18548:error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol:c:\ws\deps\openssl\openssl\ssl\statem\statem_lib.c:1922:

–tls-v1.0 flag doesn’t work on Node v12 经查询是nodejs 12默认不支持tls v1.0版本的协议,可以通过添加 --tls-min-v1.0 参数支持1.0的tls。 但由于开发过程需要用到supervisor模块,恰巧supervisor没有支持这个参数。

想请问各位,能否在代码内使http支持v1.0的tls协议,或者有无支持 --tls-min-v1.0 参数的热部署模块。

7 回复

如果必须使用,就使用 nginx 或者 caddy 反向代理吧。 tls 1.0 已经不够安全了。

记得 supervisor 之类的 可传参

@yuu2lee4 这个模块好几年没更新了,没有支持这个参数

@zuohuadong 请问有没有更简便的方案呢?

@gxsandzxl 反向代理就是最简单的~ 不建议用 tls 1.0 不安全。,

https://nodejs.org/dist/latest-v12.x/docs/api/cli.html#cli_environment_variables 通过环境变量可以传参给 node。但还是强烈建议用 nginx

require(‘tls’).DEFAULT_MIN_VERSION = ‘TLSv1’;

回到顶部