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

Node Express: Requests are taking Top-level domain as the subdomain ??

我正在做一个使用子域名的快递项目。

现在我面临的问题是我的域名是 ("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/user/details 时,我发现它给出了 companyName 作为子域。

喜欢:从 "companyName.co.in" 请求 subdomain 应该为 null 但它给了我 subdomain as companyName.

你能帮我如何让节点服务器知道"companyName.co.in"这是主机并且还允许“*.companyName.co.in”子域可以是任何东西。

您可以通过将 'subdomain offset' 快速应用设置设置为 3.

来解决您的问题

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

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