我正在使用node-request模块,定期向一组网址发送GET请求,有时会在某些网站上收到以下错误。
Error: 29472:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:openssl\ssl\s23_clnt.c:683
问题是我总是或者总是在某些URL上得到此错误,有时候。此外,“strictSSL: false
”无法忽略它。
我已经读过这可能与我使用错误的协议(SSLv2,SSLv3,TLS ..)发送SSL请求有关。但这并不能解释为什么它会不定期地发生。
顺便说一句,我在Win 2008服务器上运行nodejs。
感谢任何帮助。
答案 0 :(得分:105)
当您通过错误的端口(例如80)请求HTTPS资源时,您将收到此类错误消息。因此,请确保在请求选项中指定了正确的端口443。
答案 1 :(得分:14)
这完全是我的坏事。
我在代码的一部分上使用标准节点http.request,该代码应该仅向http地址发送请求。似乎db有一个https地址,它以随机间隔查询。
简单地说,我正在尝试向https发送http请求。
答案 2 :(得分:4)
有些网站正在讲SSLv2,或者至少发送SSLv2服务器问候,并且您的客户端没有说话,或者没有配置说SSLv2。您需要在此做出政策决定。几年前,SSLv2应该已经从地球上消失了,仍然使用它的网站是不安全的。但是,如果你要与他们交谈,你只需要在你的最后启用它,如果可以的话。如果可以,我会向网站所有者抱怨。
答案 3 :(得分:3)
我遇到了这个问题(每个软件包有403个错误),我在网上找不到任何解决方案。
我的用户文件夹中的bounds.extend(coords); map.fitbounds(bounds)
文件错误且被误解。
我从
.npmrc
到:
proxy=http://XX.XX.XXX.XXX:XXX/
答案 4 :(得分:2)
var https = require('https');
https.globalAgent.options.secureProtocol = 'SSLv3_method';
答案 5 :(得分:2)
我收到此错误是因为我使用require('https')
我应该使用require('http')
。
答案 6 :(得分:0)
连接到Amazon RDS时出现此错误。我检查了服务器状态50%的CPU使用情况,因为它是一个开发服务器,没有人使用它。
以前工作正常,连接配置中没有任何内容发生变化。 重新启动服务器为我解决了这个问题。
答案 7 :(得分:0)
简而言之,
vi ~/.proxy_info
export http_proxy=<username>:<password>@<proxy>:8080
export https_proxy=<username>:<password>@<proxy>:8080
source ~/.proxy_info
希望这对某人有所帮助:)
答案 8 :(得分:0)
在我的情况下(网站SSL使用ev曲线),通过添加此选项 ecdhCurve:'P-521:P-384:P-256'
request({ url,
agentOptions: { ecdhCurve: 'P-521:P-384:P-256', }
}, (err,res,body) => {
...
JFYI,也许这会帮助某人
答案 9 :(得分:0)
我在火箭聊天室中使用它通过企业代理与gitlab通信时遇到了这个错误,
因为使用的是https://:8080,但实际上它适用于http://:8080