2016-10-21 2 views
0

bonjour je suis nouveau à Nodejs. Je veux utiliser des sous-domaines dynamiques pour accéder à mon API et à travers un préfixe de sous-domaine je peux gérer mes données API.utiliser sous-domaines dynamiques avec nodejs

Supposons que je donné domaine comme domaine: 3000 et sous-domaine pourrait être a.domain: 3000 ou b.domain: 3000 ou quoi que ce soit au domaine préfixé: 3000.

J'ai utilisé des domaines génériques. mais toujours incapable de comprendre le flux et comment l'utiliser et autoriser l'organisation listée dans DB (Considérons le préfixe comme nom d'organisation).

J'ai utilisé le code suivant:

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); 

J'utilise aussi AngularJS et en utilisant ui.router pour changer mes états ou urls.

+0

Fournir des exemples de code montrant comment vous initialisez votre serveur – Simeon

Répondre

0

je ce module

npm i vhost --save

Ici vous pouvez voir les informations http://expressjs.com/en/resources/middleware/vhost.html

joker subdomains

Comme vous pouvez le voir dans https://www.npmjs.com/package/wildcard-subdomains

app.use(wildcardSubdomains({ 
    namespace: 's', // __NAMESPACE_FROM_WILDCARD_CONFIG__ 
    www: 'false', 
})) 

Si vous suivez, par exemple, lien foo.localhost: 3000 Express traitera ce middleware

app.get('/s/foo/', function(req, res){ 
    res.send("Meow!") 
}) 

C'est à dire

app.get('/__NAMESPACE_FROM_WILDCARD_CONFIG__/__SUBDOMAIN__/', function(req, res){ 
    res.send("Meow!") 
}) 

Vous pouvez essayer d'écrire app.get('/s/:subdomain', ...