相关疑难解决方法(0)

如何在node.js中创建一个简单的http代理?

我正在尝试创建一个代理服务器,将HTTP GET客户端的请求传递给第三方网站(比如google).我的代理只需要将传入的请求镜像到目标站点上的相应路径,因此如果我的客户端请求的URL是:

127.0.0.1/images/srpr/logo11w.png
Run Code Online (Sandbox Code Playgroud)

应提供以下资源:

http://www.google.com/images/srpr/logo11w.png
Run Code Online (Sandbox Code Playgroud)

这是我想出的:

http.createServer(onRequest).listen(80);

function onRequest (client_req, client_res) {
    client_req.addListener("end", function() {
        var options = {
            hostname: 'www.google.com',
            port: 80,
            path: client_req.url,
            method: client_req.method
            headers: client_req.headers
        };
        var req=http.request(options, function(res) {
            var body;
            res.on('data', function (chunk) {
                body += chunk;
            });
            res.on('end', function () {
                 client_res.writeHead(res.statusCode, res.headers);
                 client_res.end(body);
            });
        });
        req.end();
    });
}
Run Code Online (Sandbox Code Playgroud)

它适用于html页面,但对于其他类型的文件,它只返回一个空白页面或来自目标站点的一些错误消息(在不同的站点中有所不同).

javascript proxy node.js

59
推荐指数
6
解决办法
11万
查看次数

如何在多台计算机中集群节点应用程序

我正在使用Express jsNode-cluster来利用集群我还使用PM2进行进程和内存管理.对于一台机器,它工作正常,但我的机器有2个核心,我想提供更多的核心.所以我决定加入另外3台机器,现在所有4台机器都使用LAN连接.我也可以在网络浏览器中使用IP地址访问其他机器.

现在我想连接所有机器并希望共享它们的内核,这样我最终将为我的应用程序提供2 + 6 = 8个内核.怎么可能?是否有任何节点模块可用于实现此目的?谢谢.

cluster-computing node.js express

12
推荐指数
1
解决办法
8108
查看次数

标签 统计

node.js ×2

cluster-computing ×1

express ×1

javascript ×1

proxy ×1