我们如何使用 vhost 和 nodejs 添加子域 dynamicllay

Posted

技术标签:

【中文标题】我们如何使用 vhost 和 nodejs 添加子域 dynamicllay【英文标题】:how can we add subdomain dynamicllay using vhost and nodejs 【发布时间】:2021-11-12 21:44:23 【问题描述】:

我想根据用户名创建一个子域,因为每个用户的用户名都是唯一的

我手动创建子域,但不知道如何通过用户名创建子域

const subdomain = express();

const domain = "localhost";

  app.use(vhost(`username.$domain`, subdomain)); //here username is manually i entered

我们如何通过使用 API 从 DB 获取用户名并创建子域来做到这一点

【问题讨论】:

谁能帮忙 【参考方案1】:

您可以使用node-awesome-router 这是使用没有任何oder(主机,nginx等)设置的子域配置路由的示例ho

const router = NodeAwesomeRouter(
   app,
     routes: [
        key: '/path',
        routes: '/r1': ()=>, '/r2': () => , ...  ,
        subdomain: 'users' // user.domain.com
      , 
       key: '/path2',
       routes: '/r1': ()=>, '/r2': () => , ...  ,
       subdomain: 'dev' // dev.domain.com
      ], 
  )

【讨论】:

我没有理解你的评论 你可以做一些像 .常量子域 = 等待 dbSubdomainsSchema.findAll() 常量路由 = []; subdomains.map(subdomain => rotes.push( key: '/', routes: , subdomain, ) ) NodeAwesomeRouter(app, routes) 谢谢,它不适合我

以上是关于我们如何使用 vhost 和 nodejs 添加子域 dynamicllay的主要内容,如果未能解决你的问题,请参考以下文章

带有 vhost 和 greenlock-express 的 NodeJS 子域

NodeJS MongoDB 添加到子文档数组

如何将所有 *.dev 路由到 vagrant box 上的子文件夹

在通配符 vhost apache (xampp) 设置中重定向子子域

无法使用httpd-vhosts.conf从子域重定向到子子域

多个域上的 Node.js 使用 express.vhosts()