根据URLpath创build代理
我需要根据来自浏览器的一些URL创build代理,因为我相当新的这个主题林不知道如何testing它:(我需要一些方法来testing它,看看这实际上是工作从这个博客使用下面的代码
http://blog.nodejitsu.com/node-http-proxy-1dot0/
var httpProxy = require('http-proxy') var proxy = httpProxy.createProxy(); var options = { 'foo.com': 'http://website.com:8001', 'bar.com': 'http://website2.com:8002' } require('http').createServer(function(req, res) { proxy.web(req, res, { target: options[req.headers.host] }); }).listen(8000);
我需要的是当你把浏览器localhost:8000你将路由(代理)到新的服务器与不同的path,如选项中所述。
如果你想要一个用户inputfoo.com去http://website.com:8001你需要为例如Nginx的foo.com设置一个虚拟主机。
Nginx将为foo.com和bar.com托pipe虚拟主机,这将是Node.js应用程序的“代理传递”。
当用户访问foo.com时,它会让你的Nginx服务器将请求传递给Node应用程序,该应用程序将请求代理到你在选项中设置的相对URL。
如果你需要,我可以给你所需要的Nginxconfiguration。
Nginx虚拟主机configuration:
server { listen 80; server_name foo.com bar.com; location / { proxy_pass http://127.0.0.1:8000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
当然,你需要将foo.com和bar.com DNS指向Nginx / Node服务器。 Node应用程序是很好的。 你不需要更多。 启动Nginx和Node,你就完成了。
- 无法使用企业代理服务器的bower,如何解决?
- 节点Http代理 – 基本的反向代理不起作用(404s)
- 如何使用代理启动node.js应用程序(指定代理使用而不更改JavaScript代码)
- Grunt-connect-proxy,转发文件不起作用
- 节点js ..创build一个代理服务器,将监视和loggingstream量
- 什么是替代的枚举()的JavaScript代理陷阱for … in
- AngularJS + ExpressJS。 代理POST请求正在等待
- 我可以在TypeScript中使用自定义模块parsing函数(如“proxyquire”)来代替require()吗?
- 在量angular器中为e2etesting设置https代理