Tag: 代理

错误:主机名/ IP不符合证书的名称:

我使用axios作为node.js的HTTP客户端 我在本地端口和端口8888上使用代理,所以我可以用Charles Proxy来嗅探networkingstream量以进行debugging。 axios.get(`http://example.com', { proxy: { host: '127.0.0.1', port: 8888 }) .then(result => { // }) .catch(error => { console.log(error) }) 有了这个configuration,我经常收到这个错误信息: 错误:主机名/ IP不符合证书的名称: 我在这里读到: Node.js主机名/ IP不匹配证书的altnames ,我必须像这样configurationnode.js来禁用安全检查: { rejectUnauthorized : false } 我的问题是如何以及在哪里做我的configuration?

如何在unit testing路由时将快速路由所调用的控制器进行存储

我正在尝试unit testing快速路由,如下所示: var app = express(); app.get('/',indexController.Index); 在我的unit testing中,我使用的代码如下: const indexController = {}; indexController.Index = sinon.stub(); const server = proxyquire('../server.js', { './controllers/indexController': indexController }); describe('GET /', () => { it('index controller should be called', (done) => { request(server) .get('/') .expect(200) .end((err, res) => { if (err) { return done(err); } sinon.assert.called(indexController.Index); return done(); }); }); […]

如何正确创build一个HTTPS透明代理服务器与节点?

我使用的npm包http-proxy声称帮助,但我完全无法使其工作。 到目前为止,我只通过制作一个透明的HTTP代理服务器来获得成功,但是当它创build一个透明的HTTPS代理服务器时,则什么都不会发生。 我正在使用一个Android设备,configuration为使用代理服务器期望configuration的端口的代理,但在nodejs端没有任何东西被触发。 只有当我configuration了一个HTTP代理服务器,那么事情似乎正在工作。 这是我用于HTTPS的代码: var https = require('https'); var fs = require('fs'); var httpProxy = require('http-proxy'); var options = { key: fs.readFileSync('./client-key.pem', 'utf8'), cert: fs.readFileSync('./client-cert.pem', 'utf8') }; var proxy = httpProxy.createProxyServer({ ssl: options }); https.createServer(options, function (req, res) { console.log("new", req.url); proxy.web(req, res, { target: req.url }); }).listen(8000); 如果我使用http包中的createServer,那么它适用于http调用(因为callback被触发),但是它不适用于使用这些指令的https。 任何人都知道我做错了什么? PS:我不在乎是否必须使用不同的npm包。

如何使用phantomjs或其他浏览器在nodejs中创buildWeb代理?

我一直在尝试使用phanthonjs或类似的方式创build一个Web代理服务器,并在浏览器中查看和导航 var phantom = require('phantom'); phantom.create().then(function(ph) { ph.createPage().then(function(page) { page.open('https://stackoverflow.com/').then(function(status) { console.log(status); page.property('content').then(function(content) { console.log(content); page.close(); ph.exit(); }); }); }); });

Node.js HTTP代理caching:任何指南和最佳实践?

是否有任何指导方针/最佳实践来实现在Node.js中编写的http代理caching? 这是更好的内存加载caching,磁盘存储caching或混合? 对此有何build议? 谢谢

在nodejs中转发代理

我用nodejs做了一个小的转发代理,并把它放在appfog中。 它设置了我的浏览器的代理后在本地工作,但是当我尝试使用托pipe在appfog中的一个说:* Errore 130(net :: ERR_PROXY_CONNECTION_FAILED):Connessione al服务器代理非riuscita。*这是我的代码: var http = require('http'); http.createServer(function(request, response) { http.get(request.url, function(res) { console.log("Got response: " + res.statusCode); res.on('data', function(d) { response.write(d); }); res.on('end', function() { response.end(); }); }).on('error', function(e) { console.log("Got error: " + e.message); }); }).listen(8080); 我错过了什么? 你的代码正在工作,但一旦我已经尝试使用它像这样: var port = process.env.VCAP_APP_PORT || 8080; var http = require('http'); var […]

如何处理Node.js中的“读取ETIMEDOUT”?

我有一个pub / sub模型,使用Node.js将数据从一个客户端传输到另一个客户端。 此外,服务器还会logging收到的所有内容并发送给新客户端。 但是,一些数据在传输时被破坏,并且出现如下错误: Error with socket! { [Error: write EPIPE] code: 'EPIPE', errno: 'EPIPE', syscall: 'write' } Error with socket! { [Error: read ETIMEDOUT] code: 'ETIMEDOUT', errno: 'ETIMEDOUT', syscall: 'read' } 我不知道如何正确处理这些错误。 看起来客户端已经closures了。 由于服务器只是像服务器这样的代理服务器,所以并不知道数据是什么意思。 遇到这些错误之前,我不知道如何validation每个数据包。 这是我的代码: // server is an object inheriting from net.Server server.on('listening', function() { var port = server.address().port; }).on('connection', function(cli) […]

通过代理访问NPM存储库

我正尝试使用代理从Intranet访问npm存储库。 使用代理(在环境variablesHTTP_Proxy和HTTPS_Proxy中设置)我能够访问存储库而不使用ssl使用我的浏览器,并使用wget: wget registry.npmjs.org/yuidocjs 当我使用https时,我可以使用浏览器访问,但不能使用wget wget https://registry.npm.js.org/yuidocjs #fails 当我尝试使用NPM时,将registry=http://registry.npm.js.org/设置为404。 当我使用默认的httpsregistrypath时,会导致超时。 我在这里错过的任何东西? 我的configuration文件如下所示: proxy = http://ems-lnx222:8080/proxy.pac https-proxy = http://ems-lnx222:8080/proxy.pac registry = http://registry.npmjs.org/ prefix = /ws/bemccorm-rtp/npm-packages strict-ssl = false 更新 经过更多的游戏,我发现.pac代理似乎是造成了一个问题。 我用一个普通的代理,而现在得到一个200的状态,获取正确的tgz文件,然后收到一个npm ERR! fetch failed 尝试获取文件时npm ERR! fetch failed 。

NodeJs镜像网站代理

当你收到一个请求时,你会如何编写一个简单镜像一个网站的服务器? 例如,点击正在运行NodeJS的http://localhost:5000将使用图像和所有东西来呈现cnn.com。 这是否被称为传递代理? 我不是在寻找需要在浏览器设置中configuration实际代理服务器的东西,而是通过传递请求来实质上提供另一个站点的镜像。

在Erlang中反向代理/转发HTTP请求

我已经search了networking,发现inets和mod_esi,但是我需要build立一个模块,它接受http://localhost:8000的HTTP请求,然后反向代理到http://localhost:9000而不进行HTTP转发,因为我需要代理服务器在任何时候对请求者都是匿名的。 在Node.JS中可以find类似的东西: https : //github.com/nodejitsu/node-http-proxy 。 有人能指出我的方向吗?