gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 00:22:40 26 4
gpt4 key购买 nike

我正在开发一个使用子域的 Express 项目。

现在我面临的问题是我的域名是(“companyName.co.in”)并且我的 Node 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”请求子域名应该为空,但它给了我子域名作为公司名称。

您能否帮助我如何让 Node 服务器知道“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);

关于javascript - Node express : Requests are taking Top-level domain as the subdomain ? ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44017277/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com