用到的时候是安装习惯从 Google 先找了 Nginx 的方案先拼凑了一个脚本用着,
http://stackoverflow.com/questions/50...
但是否还有别的方案, 比如不借助 Nginx, 直接用 Node,
比方应用监听8000端口, 服务器有域名abcd.in, 想运行到app.abcd.in这样,
有哪些方案可以行得通?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
你可以使用connect.js的vhost或者express.js(基于connect.js)。
var connect = require('connect'), http = require('http'); // 其他的require... var vhost1 = connect.vhost( 'www.example.com', connect.createServer(...) ); var vhost2 = connect.vhost( 'bbs.example.com', http.createServer(...) // http.server也可以 ); connect.createServer( connect.logger(), vhost1, vhost2 ).listen(8888);用nginx做proxy的方案更好,更灵活。
你也可以在node.js程序内部判断host:
app.get('some_route', function(req, res) { var host = req.header('host'); // 然后针对host做处理 });你需要使用web server为你的node程序做Proxy
相当于在web server上建立虚拟主机之后,转发所有请求到node程序监听的端口
以你的域名举例 app.abcd.in --> 本地8000端口(Node App),假设我安装了apache