node.js - 通过套接字连接将 https 代理请求传送到命名管道 (node.js)

标签 node.js sockets https proxy named-pipes

我正在尝试构建一个转发代理服务器,它可以接受对 http url 的请求,并将该请求传输到监听命名管道的 https 服务器。

我知道我错过了一个步骤,但我不确定它是什么。这就是我正在尝试使用的...

function pipeToServer(browserRequest, browserSocket, browserRequestHead){

    var targetUrl = url.parse('https://' + browserRequest.url);
    var namedPipe = getNamedPipe()

    console.log("Attempting to connect to " + namedPipe)
    var proxySocket = net.connect(namedPipe, function() {
        console.log("Connected to destination server: " + namedPipe)
        console.log("Sending head: " + browserRequestHead)
        browserSocket.write('HTTP/' + browserRequest.httpVersion + ' 200 Connection Established\r\n' +'Proxy-agent: Node-Proxy\r\n' + '\r\n');
        proxySocket.write(browserRequestHead);
        proxySocket.pipe(browserSocket);
        browserSocket.pipe(proxySocket);
    });
}

连接成功,但目标服务器的请求处理程序(监听命名管道)从未被触发。有趣的是 browserRequestHead 似乎也总是空白。

我迷路了。任何帮助表示赞赏。

最佳答案

原来问题中发布的代码结果工作正常。该问题与所使用的 ssl 证书有关。由于 TLS 握手失败,请求未到达目标服务器。

关于node.js - 通过套接字连接将 https 代理请求传送到命名管道 (node.js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21805724/

相关文章:

sockets - 在QNX矩上运行的程序给出错误 undefined reference

带有 HTTPS 的 jQuery Uploadify 插件

node.js - Res.send 在 Function Model.find() Nodejs 之前进行

node.js - 使用 mocha 和 sinon-chai 测试快速中间件的使用情况

sockets - 使用 Socket Test 3.0 软件的 TCP/IP

android java和套接字

node.js - ioredis 按模式删除所有键

arrays - 具有 2 个(或更多)模式类型的 mongoose 数组

php - 使用IP地址的HTTPS背景图像?

c# - .asax.cs 页面附加 :443 to URLs