Node Express:请求将顶层域作为子域?

我正在使用子域名的快速项目。

现在我面临的问题是,我的域名是(“companyName.co.in”),我的节点JS代码正在考虑companyName作为子域。

这是我的代码:

server.js

var express = require('express'); var app = express(); var subdomain = require('express-subdomain'); var bodyParser = require('body-parser'); var path = require('path'); var expressValidator = require('express-validator'); var expressJwt = require('express-jwt'); var jwt = require('jsonwebtoken'); var cors = require('cors'); app.use(bodyParser.json({limit: '50mb'})); app.use(bodyParser.urlencoded({ limit: '50mb', extended: true })); app.use(cors()); //app.use(cookieParser()); app.use(express.static('../app')); app.use(express.static('static/')); app.use('/api/user',require('./controllers/user.controller')); var server = app.listen(3000,function(){ console.log('Server listening at 3000'); }); 

user.controller.js

 var express = require('express'); var router = express.Router(); router.get("/details", getUserDetails); function getUserDetails(req, res) { var subdomain = (req.subdomains.length > 0) ? req.subdomains[0] : ''; console.log(subdomain) } module.exports = router; 

所以当我打电话给API /用户/细节,我发现它给公司名称作为子域。

像:来自“companyName.co.in”子域的请求应该是空的,但它给了我子公司作为公司名称。

你可以请帮助我怎么让节点服务器知道“companyName.co.in”这是主机,也允许“* .companyName.co.in”的子域可以是任何东西。

你可以通过设置'子域偏移量'快速应用程序设置为3来解决这个问题。

http://expressjs.com/en/4x/api.html#app.settings.table

 var express = require('express'); var app = express(); app.set('subdomain offset', 3);