Articles of 节点 http proxy

代理angular度请求与节点服务位于azurewebsites

我需要做一些代理发布请求,并从这个请求的目标得到回应。 这是我的server.js文件代码:代理请求后没有任何响应的问题。 这里是我的server.js与代理连接的部分: var httpProxy = require('http-proxy'); app.use(bodyParser.urlencoded({ extended: true })); var apiProxy = httpProxy.createProxyServer({ secure: true, changeOrigin: true }); app.post('/v1/*', function(req, res) { apiProxy.web(req, res, { target: 'http://somesite.azurewebsites.net'}); }); }); 目前我在localhost:3000工作,我testing了与localhost:8888(另一个本地服务器)的代理,它的工作原理是完美的。 另外,如果我删除changeOrigin: true有azurewebsite“页面不存在”的404响应。 服务是可行的(与邮差testing)。 找不到问题。 将不仅感到高兴,而且甚至还有一些关于节点和代理的额外资源。 谢谢!

Node.JS http get请求返回undefined

这应该是非常简单的,但没有获取数据,我得到了未定义。 我在代理服务器后面,而且我不擅长从代理服务器发出请求。 我发现只有一个教程,它解释了当使用代理服务器而不使用外部模块时的http请求,并且没有正确解释。 const http = require('http'); let options = { host: '10.7.0.1', port:8080, path:'www.google.co.uk' } http.get(options,(res) => { let str = ''; res.setEncoding('utf8'); res.on('data', (chunk) => { str += chunk; }) res.on('end', (str) => { console.log(str); }) }) 10.7.0.1是代理服务器的地址,8080是端口。 这段代码的输出是未定义的。 我甚至不知道这个方法是否正确,我无法弄清楚。我读了node http docs,并且尽我所能写了选项对象,如果我错了,就纠正我。 一般来说,如何在使用代理服务器时发出请求(不使用任何外部模块)。

Node.js通过socket.iostreampipe道http请求

我正在从事一个项目,将公开的互联网上的私人networking服务暴露在防火墙之后,但通过一个代理来validation所有的请求。 基本上我有一个公共的node.js进程完成所有的身份validation,并将请求redirect到适当的terminal。 我使用http-proxy来validation请求,一旦我authentication他们。 目前我有一个node.js服务在所有端点上运行,我使用openvpn创build隧道和iptables来redirect任何不在本地主机上的请求。 本地node.js进程pipe理添加和删除iptable规则以及openvpn连接的authentication加上实际的node.js代码的更新。 这工作,但笨重,并没有很大的可扩展性。 我想从公共服务器通过websocket连接到另一端的node.js进程的HTTP请求,并redirect到任何IP:端口的意思。 基本networking图 下面是我想要完成的基本networking。 我试图理解pipe道和水stream如何协同工作来实现这一目标,但并没有取得真正的成功。 任何人都可以提供一些基本的示例代码来完成这个任务吗?

代理HTTP与express.js和Apache

我想从apache安全PHP页面。 这只能由NodeJS访问,因为authentication是从nodejs端实现的。 所以我必须在访问php页面之前创build一个代理HTT(不实现安全性)。 这是我的虚拟主机Apache: # Virtual Hosts # <VirtualHost *:1882> ServerName localhost ServerAlias localhost DocumentRoot "${INSTALL_DIR}/www" <Directory "${INSTALL_DIR}/www/"> Options +Indexes +Includes +FollowSymLinks +MultiViews AllowOverride All Require local </Directory> <Location /> Order deny,allow Allow from localhost </Location> </VirtualHost> <VirtualHost *:1882> ServerName *** ServerAlias ApplicationServer ProxyRequests Off ErrorLog "${INSTALL_DIR}/logs/app_error.log" CustomLog "${INSTALL_DIR}/logs/app_access.log" combined <Location /> ProxyPass http://localhost:3000/ retry=0 […]

NodeJS,http-proxy,socket.io

我正在端口3030上运行一个快速Web应用程序,但它通过http-proxy进行代理 。 该网站工作正常,但socket.io不会连接。 它接收我的控制台显示的东西: debug – served static content /socket.io.js debug – client authorized info – handshake authorized 11319742841450363586 debug – setting request GET /socket.io/1/websocket/11319742841450363586 debug – set heartbeat interval for client 11319742841450363586 debug – client authorized for debug – websocket writing 1:: app.js app.listen(3030) io = require('socket.io') socket = io.listen(app) socket.on('connection', function(client) { console.log('new […]

表示节点-http-proxy,proxy.proxyRequest到https服务器?

可以使用node-http-prox模块和proxy.proxyRequest到https服务器吗? 我试图做到以下,但似乎并没有工作。 app.get('/c/users/moreuser', function(req, res) { proxy.proxyRequest(req, res, { host: 'api.example.com', port: 80, https: true }); }); 这样做我没有得到从服务器的任何响应。 但我可以直接从服务器获得响应。

如何使用http-proxy隐藏node.js服务器

我正在使用以下代码在node.js上实现反向代理。 它工作正常,但问题是,当我试图访问服务器127.0.0.1:9008/“这是相当可访问的,我希望它只能通过代理服务器访问,请帮助.. var http = require('http'), httpProxy = require('http-proxy'); // // Create a proxy server with latency // var proxy = httpProxy.createProxyServer(); // // Create your server that make an operation that take a while // and then proxy de request // http.createServer(function (req, res) { // This simulate an operation that take 500ms in […]

如何在设置代理服务器时使用本地静态文件

我使用NODE和EXPRESS设置代理服务器。 我在本地和代理服务器有相同的设置/代码库。 但我想要使用本地机器上的所有js,css,图像和其他静态内容以及来自代理服务器的json响应。 现在,由于代理服务器也有相同的,js,css,图像,它正在从代理服务器获取所有内容。 我是否需要限制url调用,以便不从代理中selectjs,css,图像和其他静态内容,而是从本地select。 我怎么做? 这里是代码结构(在本地和代理) /src /javacode /WebContent /js /css /images /jsp 我希望/ WebContent下的所有东西都可以从本地使用。 这是我如何设置代理: var proxy = httpProxy.createProxyServer(); app.route('/app/*$').all(function (req, res) { // proxy all requests proxy.web(req, res, {target: 'http://proxy-server:7001'}); //sandbox });

与浏览器同步和代理服务器抛出错误的Gulp PHP

在Windows 10升级/重置后,我不得不重新下载我所有的开发工具。我似乎无法让我的服务器与gulp-connect-php,gulp-browser-sync和http-proxy一起工作。 下面的任务实际上是从这个答案: Gulp-webapp运行BrowserSync和PHP 。 这是来自Yeoman的一代gulp-webapp。 常规的“服务”工程,但当然不会启动PHP文件。 在升级之前,我已经使用了它,但是现在,当我尝试启动URL时,http-proxy错误与ECONNREFUSED一起出现。 请注意,它不会错误,直到我实际上去的URL,如果任务设置为不自动打开浏览器,它不会错误,直到我去localhost:3000。 任何想法这个错误的原因? 吞噬任务 gulp.task('php-serve', ['styles', 'fonts'], () => { phpConnect.server({ port: 9001, base: 'app', open: false }); const proxy = httpProxy.createProxyServer({}); browserSync({ notify: false, open: false, port: 9000, server: { baseDir: ['.tmp', 'app'], routes: { '/bower_components': 'bower_components' }, middleware: function (req, res, next) { var url = […]

是否有可能区分requestURL作为一个在地址栏中键入login节点代理?

我只是无法使http-proxy模块作为正向代理正常工作。 它作为一个反向代理很好。 因此,我使用节点的http和net模块实现了一个基于节点的转发代理。 它工作正常,都与http和https。 稍后我会处理websockets。 除此之外,我想logging通过浏览器访问或请求的URL。 在请求对象中,我确实得到了URL,但是正如所料,当一个页面加载时,其他的请求被触发,包括AJAX,第三方广告等。我不想logging这些。 我知道我可以区分一个AJAX请求和x-requested-header。 我可以通过检查用户代理头来区分来自浏览器的请求(尽pipe这些可以通过curl来欺骗)。 我想尽量减less日志条目。 商业代理如何logging这些信息? 或者他们只是logging每一个请求? 一种方法是在主要请求假定它们全部与主请求相关联后的某个时间内不logging任何请求。 这在技术上不准确。 我在这方面进行了研究,但没有find任何解决办法。 我不寻找任何具体的代码,只是一些方向…