用到的时候是安装习惯从 Google 先找了 Nginx 的方案先拼凑了一个脚本用着,
http://stackoverflow.com/questions/50...
但是否还有别的方案, 比如不借助 Nginx, 直接用 Node,
比方应用监听8000
端口, 服务器有域名abcd.in
, 想运行到app.abcd.in
这样,
有哪些方案可以行得通?
用到的时候是安装习惯从 Google 先找了 Nginx 的方案先拼凑了一个脚本用着,
http://stackoverflow.com/questions/50...
但是否还有别的方案, 比如不借助 Nginx, 直接用 Node,
比方应用监听8000
端口, 服务器有域名abcd.in
, 想运行到app.abcd.in
这样,
有哪些方案可以行得通?
你需要使用web server为你的node程序做Proxy
相当于在web server上建立虚拟主机之后,转发所有请求到node程序监听的端口
以你的域名举例 app.abcd.in --> 本地8000端口(Node App),假设我安装了apache
<VirtualHost *:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot "/你的应用目录/" ServerName app.abcd.in ServerAlias app.abcd.in ErrorLog "/你的应用目录/logs/error.log" CustomLog "/你的应用目录/logs/access.log" combined ProxyPass / http://app.abcd.in:8000/ </VirtualHost>
5 回答4.9k 阅读✓ 已解决
4 回答2.5k 阅读✓ 已解决
2 回答1.8k 阅读✓ 已解决
5 回答2k 阅读
3 回答2.1k 阅读
1 回答3.3k 阅读
1 回答2.7k 阅读
你可以使用connect.js的vhost或者express.js(基于connect.js)。
用nginx做proxy的方案更好,更灵活。
你也可以在node.js程序内部判断host: