2017-04-11 4 views
0

Ich bin ein Neuling für NodeJS (Any JS). Ich versuche eine App zu entwickeln, die mehrere Router hat. Hier sind meine Routerpfade.Deaktivieren Sie SSL Trusted Peer-Anforderung in bestimmten Express-Router

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 dienen den Rest api, die in mobilen Anwendungen verbrauchen. adminRouter dient dem Admin-Dashboard. pageRouter dient den Endbenutzern als Zielseite und einige Highlights der App.

Ich habe SSL-Peer-Implementierung wie folgt implementiert.

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

Wie immer habe ich nicht meine Zertifizierung und Schlüssel müssen SSL vertraut Peer Implementierung von pageRouter als Endbenutzer entfernen. Wie kann ich die Implementierung des SSL-vertrauenswürdigen Peers nur unter pageRouter deaktivieren?

Antwort

1

Sie wissen nicht, in welchem ​​Pfad ein Client eine Anfrage stellt, bis seine TLS-Sitzung bereits ausgehandelt wurde. Zu diesem Zeitpunkt ist es zu spät, eine Verbindung wegen fehlender Client-Zertifikate abzulehnen.

Sie können die API-Endpunkte, die ein Clientzertifikat erfordern, in eine separate Subdomäne oder einen anderen Port einfügen.

+0

Danke für die Antwort. – Chrishan

Verwandte Themen