2017-04-11 1 views
0

Je suis un novice de NodeJS (Any JS). J'essaie de développer une application qui a plusieurs routeurs. Voici mes chemins de routeur.Désactiver la norme SSL Trusted Peer dans un routeur express spécifique

var app = express(); 
var apiRouter = express.Router(); 
var adminRouter = express.Router(); 
var pageRouter = express.Router(); 

app.use('/api', apiRouter); 
app.use('/admin', adminRouter); 
app.use('/', pageRouter); 

apiRouter servent le reste api qui consommera dans les applications mobiles. adminRouter sert le tableau de bord d'administration. pageRouter sert les utilisateurs finaux comme une page de destination et quelques points saillants de l'application.

J'ai implémenté l'implémentation SSL Peer comme ci-dessous.

options = { 
    key: // Path to key file, 
    ca: // Path to CA crt file, 
    cert: // Path to crt file, 
    requestCert: true, 
    rejectUnauthorized: true 
}; 

Comment jamais je dois enlever la mise en œuvre par les pairs de confiance SSL de pageRouter que l'utilisateur final ne pas ma certification et la clé. Alors, comment puis-je désactiver l'implémentation homologue SSL approuvée sur pageRouter uniquement?

Répondre

1

Vous ne saurez pas sur quel chemin un client fait une demande tant que sa session TLS n'a pas déjà été négociée. À ce stade, il est trop tard pour rejeter une connexion pour absence de certificat client.

Envisagez de placer les points de terminaison API nécessitant un certificat client sur un sous-domaine distinct ou un port différent.

+0

Merci pour la réponse. – Chrishan