一.问题描述

使用JavaScript脚本通过代理进行网络请求的时候,经常会报这个错误。

SSL routines:ssl3_get_record:wrong version number

二.解决方案

这个错误通常是因为客户端与服务器之间使用了不同版本的SSL/TLS协议。它指出客户端尝试使用一个不正确的SSL/TLS版本来请求一个页面,而服务器却不支持它。

解决这个问题的一种方法是确保服务器支持客户端使用的SSL/TLS版本。想在Linux环境下强制禁用SSL v3和TLS v1,并强制使用更高版本的TLS协议,可以通过设置环境变量来实现。在Node.js环境下,可以使用以下代码:

//JavaScript
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
process.env.NODE_TLS_MIN_PROTOCOL_VERSION = "TLSv1.2";
//shell
export NODE_TLS_REJECT_UNAUTHORIZED="0"
export NODE_TLS_MIN_PROTOCOL_VERSION="TLSv1.2"

如果你想使用其他语言,可以通过查找其官方文档了解该语言是否支持设置环境变量禁用SSL v3和TLS v1,并强制使用更高版本的TLS协议。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐