一.问题描述
使用JavaScript脚本通过代理进行网络请求的时候,经常会报这个错误。
SSL routines:ssl3_get_record:wrong version number
二.解决方案
这个错误通常是因为客户端与服务器之间使用了不同版本的SSL/TLS协议。它指出客户端尝试使用一个不正确的SSL/TLS版本来请求一个页面,而服务器却不支持它。
解决这个问题的一种方法是确保服务器支持客户端使用的SSL/TLS版本。想在Linux环境下强制禁用SSL v3和TLS v1,并强制使用更高版本的TLS协议,可以通过设置环境变量来实现。在Node.js环境下,可以使用以下代码:
//JavaScriptprocess.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";process.env.NODE_TLS_MIN_PROTOCOL_VERSION = "TLSv1.2";
//shellexport NODE_TLS_REJECT_UNAUTHORIZED="0"export NODE_TLS_MIN_PROTOCOL_VERSION="TLSv1.2"
如果你想使用其他语言,可以通过查找其官方文档了解该语言是否支持设置环境变量禁用SSL v3和TLS v1,并强制使用更高版本的TLS协议。