繁体   English   中英

如何在node.js中为用户创建子域

[英]How to create subdomain for user in node.js

我想在我的应用程序中在username.domain.com上分享一些用户信息。 用户创建帐户后,子域名应该可用。

我发现在这种情况下可能有用的好模块: Express Subdomain

如何正确使用该模块? 也许这个模块不是那么有用,我应该使用哪一个?

正如我在OP评论中提到的,在Node前面使用Nginx webserver是非常好的选择,因为这是一种安全的方式来监听80端口。 您还可以使用Nginx更有效地提供静态文件(脚本,样式,图像,字体等),以及在单个服务器中拥有多个站点。

至于您的问题,使用Nginx,您可以同时监听example.com及其所有子域,然后将子域作为自定义请求标头( X-Subdomain )传递给Node。

example.com.conf:

server {
    listen          *:80;
    server_name     example.com   *.example.com;

    set $subdomain "";
    if ($host ~ ^(.*)\.example\.com$) {
        set $subdomain $1;
    }

    location / {
        proxy_pass          http://127.0.0.1:3000;
        proxy_set_header    X-Subdomain     $subdomain;
    }
}

app.js:

var express = require('express');
var app = express();

app.get('/', function(req, res) {
    res.end('Subdomain: ' + req.headers['x-subdomain']);
});

app.listen(3000);

这是一起使用Nginx和Node的简短示例。 您可以在此处查看更详细的示例和说明。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM