#node.js #subdomain #wildcard-subdomain
#node.js #поддомен #подстановочный знак-поддомен
Вопрос:
здравствуйте, я новичок в Nodejs. Я хочу использовать динамические поддомены для доступа к моему API, и через префикс поддомена я могу управлять своими данными API.
Предположим, я задал домен типа domain: 3000, а поддоменом может быть a.domain: 3000 или b.domain: 3000 или что-либо с префиксом к domain: 3000.
Я использовал подстановочные знаки-домены. но все еще не можете понять, что такое flow и как его использовать, и разрешить организации, перечисленные в базе данных (рассматривать префикс в качестве названия организации).
Я использовал следующий код:
var wildcardSubdomains = require('wildcard-subdomains')
var checkUser = subdomain('*.localhost:3000', function(req, res,
next) {
console.log(req.session.user.valid);
if(!req.session.user.valid) {
return res.send('Permission denied.');
}
next();
});
app.use(checkUser);
Я также использую angularjs и использую ui.router для изменения своих состояний или URL-адресов.
Комментарии:
1. Предоставьте пример кода, показывающий, как вы инициализируете свой сервер
Ответ №1:
Я использовал этот модуль
npm i vhost --save
Здесь вы можете увидеть информацию http://expressjs.com/en/resources/middleware/vhost.html
подстановочный знак-поддомены
Как вы можете видеть в https://www.npmjs.com/package/wildcard-subdomains
app.use(wildcardSubdomains({
namespace: 's', // __NAMESPACE_FROM_WILDCARD_CONFIG__
www: 'false',
}))
Если вы перейдете, например, по ссылке foo.localhost:3000 Express обработает это промежуточное программное обеспечение
app.get('/s/foo/', function(req, res){
res.send("Meow!")
})
То есть
app.get('/__NAMESPACE_FROM_WILDCARD_CONFIG__/__SUBDOMAIN__/', function(req, res){
res.send("Meow!")
})
Вы можете попробовать написать app.get('/s/:subdomain', ...