6

我试图让我的 Node.js 支持的站点在一个服务多个域的实例上运行。我有我的主域,example.com然后我有admin.example.com并且api.example.com都有不同的路线等,我正在使用 Express。

到目前为止,我已经为子域添加了两条 A 记录,并且还在/var/vhosts我的 CentOS 框中添加了两个条目。

127.0.0.1 api.example.com
127.0.0.1 admin.example.com
127.0.0.1 example.com

我知道 Express 有一个express.vhost方法,所以我已经尝试过:

app.use(express.vhost('api.example.com', require('./lib/subdomains/api')))
app.use(express.vhost('admin.example.com', require('./lib/subdomains/admin')))

但这仍然只服务于我在下面导入的主要路线。我错过了什么?

4

1 回答 1

9

如果其他人发现这个问题,您可能需要检查您是否以正确的方式传递您的虚拟主机路由参数。

我正在使用:

app.get('/', function(res, req) { /* Do stuff.. */ }

什么时候应该。回调函数的第一个参数是req,然后第二个参数是res

app.get('/', function(req, res) { /* Do stuff.. */ }

认真对待你的代码:)

于 2013-04-07T22:16:28.333 回答