在nodejs中处理vhost的最佳实践

时间:2014-03-12 21:44:41

标签: node.js express virtualhost

在node.js中处理虚拟主机的最佳做法是什么?

我需要将域路由到每个单独的http服务器..

http://api.localhost:8080 => localhost:9000
http://www.localhost:8080 => localhost:9001
https://secure.localhost:8080 => localhost:9002 // this request is HTTPS

我正在使用快递http

1 个答案:

答案 0 :(得分:1)

在端口80上使用nginx非常常见,然后在nginx中使用反向代理定义服务器(vhost)到您的节点服务器。之所以如此常见,是因为nginx在提供静态内容方面非常出色,所以你可以通过告诉它你的公共目录位置来做到这一点。

以下是服务器(vhost)配置的示例。您将创建一个server { }块,并更改每个vhost的server_name:

server {
  listen 80;
  server_name website.com;

  location / {
    proxy_pass http://127.0.0.1:3001;
  }
  location ~* ^.+\.(jpg|png|gif|woff|ico|map|js|css|zip|tgz|gz|rar|bz2|pdf|txt|tar|wav|bmp|rtf|flv|swf|html|htm)$ {
    root /home/empurium/code/davinci/public;
  }
}