【发布时间】:2015-08-02 08:55:07
【问题描述】:
在高层次上,我正在尝试使用Quota Guard Static 与来自 node.js 应用程序的 Heroku 应用程序的 IP 受限 API 对话。 API 有自己的 node.js 客户端实现,但在底层它只是一个 HTTP[S] api。该库在后台使用superagent 和superagent-proxy 来执行实际的HTTP[S] 请求。
在节点 0.10 中,一切正常。在节点 0.12 中,我看到如下错误:
Error: write EPROTO 140735203734288:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:../deps/openssl/openssl/ssl/s23_clnt.c:782:
at exports._errnoException (util.js:746:11)
at WriteWrap.afterWrite (net.js:775:14)
在 io.js 2.02 中我看到:
Error: write EPROTO at Object.exports._errnoException (util.js:844:11)
我尝试全局使用 SSLv3,如 answer 所示,但似乎没有效果。
代理 url 被指定为端口 9293 的 http URL。answer 建议使用端口 443,但由于代理提供程序对我来说是外部的,我无法更改它。
如何让代理请求在节点 0.12 中工作?
【问题讨论】:
-
在端口 9293 上运行的服务不是 SSL。客户端问候响应一些其他数据,而不是服务器问候。因此,您会看到错误。
-
代理是 HTTP 和 HTTPS 代理。它在端口 9293 上运行,并且由外部服务运行,所以我无法更改它。相同的代码在节点 0.10 上运行良好,但在节点 0.12 或 io 2.02 上不起作用
标签: node.js heroku https proxy openssl