我想做一个简单的Node.js反向代理,将多个Node.js应用程序以及apache服务器托管在同一个端口80上。所以我在这里找到了这个例子
var http = require('http')
, httpProxy = require('http-proxy');
httpProxy.createServer({
hostnameOnly: true,
router: {
'www.my-domain.com': '127.0.0.1:3001',
'www.my-other-domain.de' : '127.0.0.1:3002'
}
}).listen(80);
我之所以这么做,是因为我的apache服务器处理了很多域/子域,我不想每次添加新的子域时都必须修改这个路由表。
近一年来,我成功地使用了公认的答案来获得默认主机,但现在有了一种简单得多的方法,即node-http-proxy允许在主机表中使用RegEx。
var httpProxy = require('http-proxy');
var options = {
// this list is processed from top to bottom, so '.*' will go to
// '127.0.0.1:3000' if the Host header hasn't previously matched
router : {
'example.com': '127.0.0.1:3001',
'sample.com': '127.0.0.1:3002',
'^.*\.sample\.com': '127.0.0.1:3002',
'.*': '127.0.0.1:3000'
}
};
// bind to port 80 on the specified IP address
httpProxy.createServer(options).listen(80, '12.23.34.45');
要求您没有将hostnameOnly
设置为true,否则将不处理RegEx。
node-http-proxy 是一个全功能的 Nginx 的 HTTP 代理扩展,支持 WebSocket 。
问题内容: 请告诉我,什么是部署nodejs应用程序nginx或node-http-proxy的首选方法。什么是最可靠的? 我需要的基本功能是 将所有请求代理到非80个帖子 负载均衡器 Websocket支持 问题答案: 这是一篇有关该主题的出色文章,网址为http://www.exratione.com/2012/07/proxying-websocket- traffic-for-nodejs
问题内容: 我使用的是node-http-proxy,想要监视特定的响应标头,并在必要时重写它。这里有人建议这样做吗? 我的代理服务器位于几个不同的节点服务器以及一个Java WebApp的前面。Java应用程序正在设置Cookie,但是该Cookie的路径相对于Web应用程序的上下文。我需要cookie是安全的,并且有一个无需修改Java应用程序即可到达root的路径。 换句话说,将返回以下标头
问题内容: 我正在一起运行Nodejs和Apache。 node-http-proxy正在侦听端口80,然后将请求转发到Apache(:9000)或Express(:8000)。 我在Apache上的虚拟主机如下所示: 我的问题是,在Express / Nodejs端具有虚拟主机功能的“正确”方法是什么?我希望不必像下面建议的那样将每个Nodejs应用程序放在其自己的端口上: https://gi
设置http代理(也支持socks代理、https代理),配置方式: pattern proxy://ip:port # 加用户名密码 pattern proxy://username:password@ip:port 也可以用 http-proxy pattern参见匹配模式,更多模式请参考配置方式。 例子: 把所有请求代理到127.0.0.1:8888的代理服务器: * proxy://1
在我的vps上试验Node.js时,我偶然发现了一个似乎无法解决的问题。 在Ubuntu13.04上,我有一个apache服务器与node.js一起运行。我的想法是使用Node-HTTP-Proxy创建一个反向代理。关于这一点的足够的信息可以找到,但我似乎有一个我找不到的错误。 然后我有我的hello.js文件: 最后是apache somesite.com配置: 我在public_html中有一