【问题标题】:Force setting TLS vresion 1.2 when sending out a request from Node.JS to DocuSign从 Node.JS 向 DocuSign 发送请求时强制设置 TLS 版本 1.2
【发布时间】:2020-08-07 07:04:32
【问题描述】:
我们在通过公司代理从我们的 Node.JS 应用程序向 DocuSign(demo.docusign.net 和 account-d.docusign.com)发送请求时遇到困难/我们已确定问题可能是由于DocuSign 服务器仅接受 TLS 1.1 和 1.2。
有没有办法强制将请求的 TLS 版本设置为 TLS 1.2?如果有任何支持此功能的请求模块(axios、got、request)并且如果有代码示例,那将非常有帮助。
非常感谢!
【问题讨论】:
标签:
javascript
node.js
docusignapi
tls1.2
【解决方案1】:
您可以通过设置 tls.DEFAULT_MAX_VERSION 和 tls.DEFAULT_MIN_VERSION 来指定要使用的最小和最大 TLS 版本。
这应该适用于任何使用核心 Node.js TLS 代码的模块。
例如:
const axios = require("axios");
const tls = require("tls");
tls.DEFAULT_MIN_VERSION = "TLSv1.1";
tls.DEFAULT_MAX_VERSION = "TLSv1.3";
async function testTLSVersion() {
let response = await axios({ url: "https://httpbin.org/get"});
console.log("TLS Version of connection:", response.request.connection.getProtocol());
}
testTLSVersion();
这里我们连接到一个 https 服务器并记录连接的 TLS 版本。您可以尝试使用 MIN 和 MAX TLS 版本,看看它如何影响所使用的协议。