在 Express 上为子域使用 VHOST

Posted

技术标签:

【中文标题】在 Express 上为子域使用 VHOST【英文标题】:Using VHOST for subdomains on Express 【发布时间】:2015-05-27 09:13:58 【问题描述】:

我有 2 个独立的网站(静态网站和应用程序)。我尝试使用Express vhost 中间件,但我无法管理。

对于以下代码,我将hosts 文件配置为;

127.0.0.1  localhost
127.0.0.1  process.localhost

我的server.js 代码

var connect = require('connect')
var express = require('express')
var vhost = require('vhost')
var app = require('./app')
var static = require('./static')

var server = connect()

server
.use(vhost('localhost', static.service))
.use(vhost('process.localhost', app.service))
.listen(1337, function()
  console.log('Server is listening')
)

然后如果我写我的地址栏 localhost:1337 静态页面来这很好。但是,如果我写 process.localhost:1337 什么都没有。

我该怎么办?

编辑

如果我在写地址栏localhost:1337 时将以下中间件添加到我的代码中,控制台写localhost:1337 但是我写process.localhost:1337 控制台什么也不写。

【问题讨论】:

【参考方案1】:

其实问题是hosts文件权限的变化。

解决方案在这里; https://serverfault.com/a/452269/277517

【讨论】:

以上是关于在 Express 上为子域使用 VHOST的主要内容,如果未能解决你的问题,请参考以下文章

在多租户环境中,如何在运行时在不同的 url(子域)上为不同的服务提供者提供不同的元数据?

在Namecheap上为共享IP SiteGround网站添加子域

Express 中跨子域的会话

express - nodejs - 如果在子域中,则保留 URL 而不是重定向

使用 Express 和 Node,如何跨子域/主机头维护会话

Express CORS 子域