如何在Node.js(Express)中设置子域?

时间:2011-09-11 10:10:08

标签: node.js subdomain express

我访问了域名注册表,并将A记录添加到.mysite.com,IP地址,dev.mysite.com和rest.mysite.com使用相同的IP地址。

然后在节点中,我有这个:

server.use(express.vhost('rest.mysite.com', restApp)).
        use(express.vhost('mysite.com', webApp)).
        use(express.vhost('dev.mysite.com', webApp)).
        use(express.vhost('www.mysite.com', webApp));

但我只能看到mysite.com和www.mysite.com的页面,而不是rest.mysite.com和dev.mysite.com。

我还需要设置什么?

我是否还需要更改服务器(ubuntu)主机条目?但我已经以这种方式做到了:

127.0.0.1  localhost
127.0.0.1  rest.localhost

我还需要做什么?

============== 差不多6个小时后,我终于得到了rest.mysite.com的工作。 DNS需要很长时间才能传播......

但现在,另一个问题。我是否必须在DNS中设置每个子域或子子域?

我为DNS A记录设置尝试了这个:“。rest.mysite.com”

在节点中,我添加了express.vhost('dev.rest.mysite.com');

但它不起作用。我需要在DNS中设置dev.rest.mysite.com吗?

3 个答案:

答案 0 :(得分:1)

我现在就开始工作了。使用* .rest.mysite.com获取A记录,然后我可以使用该节点创建子域。 :)

答案 1 :(得分:1)

您必须等待DNS传播,因为您的主机文件错误。

如果您的主机文件中有条目,您的计算机会使用该条目,否则它会使用DNS,因此您可以将主机文件设置为

127.0.0.1   localhost rest.mysite.com dev.mysite.com www.mysite.com

然后你可以尝试它而不用担心DNS传播。当然,只要您希望其他人能够查看该网站,您就需要更改DNS,此时您可能也想要删除主机条目。

答案 2 :(得分:-2)

最好关闭这个问题然后再问一个问题。

您可以尝试在DNS中设置“* .rest.mysite.com”。但是,根据您的DNS控制面板,它可能会也可能不起作用。

另外,请记住,最好只设置一条A记录并为别名创建CNAME记录。