gpt4 book ai didi

node.js - 用nodeJS打洞?

转载 作者:可可西里 更新时间:2023-11-01 02:54:03 25 4
gpt4 key购买 nike

假设您的网络 A 允许连接到网络 B,但不允许反向连接。是否可以建立从 A 到 B 的连接,以便在 B 中运行的代理现在可以监听 B 中的连接并将其服务回 A?

示例:网络 A 中端口 8080 上的 HTTP 服务器 A1 对网络 B 中的客户端“不可见”。但是网络 A 中的特殊客户端 PA 连接到网络 B 中的代理 PB 并保持连接打开,以便代理 PB现在可以监听端口 8080 并将请求转发到原始 HTTP 服务器 A1。`

理想情况下,2 个 nodeJS 脚本可以实现功能 PA 和 PB。

最佳答案

当然。使用 http-proxy 模块:

var http = require('http'),
httpProxy = require('http-proxy');
//
// Create your proxy server and set the target in the options.
//
httpProxy.createProxyServer({target:'http://PB:8080'}).listen(8080); // See (†)

//
// Create your target server
//
http.createServer(function (req, res) {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.write('why hello there PA' + '\n' + JSON.stringify(req.headers, true, 2));
res.end();
}).listen(8080);

https://github.com/nodejitsu/node-http-proxy#setup-a-basic-stand-alone-proxy-server

从那里开始,通过“代理启动”来获得您想要的结果(我很难准确地跟踪它)。

关于node.js - 用nodeJS打洞?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36205935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com