2016-07-20 11 views
0

bei Verwendung von req.headers.host in Express.js und Nodejs 6 auf einem SSL-fähigen Server im bekommen undefined Header Fehler.Anfrage Header undefined - Nodejs SSL

Mein Code:

if(req.headers.host.indexOf('domain.com')>-1){ 
    ...... 
} 

Fehler, was im bekommen:

www-0 TypeError: Cannot read property 'indexOf' of undefined 
+0

Was der Kontext ist das? Was siehst du, wenn du das Objekt 'req.headers' console.logst? –

+0

Wenn ich 'console.log' mache, bekomme ich' undefined'. –

+0

Ich gehe davon aus, dass dies eine Anfrage ist, die Sie in Express erhalten. Wie sieht 'req' aus? –

Antwort

1

Express in der Dokumentation einen Abschnitt über req.hostname hat.

Probieren Sie etwas wie dies zu tun:

if (req.hostname === 'domain.com') { 
    .......... 
} 

Innere eines Express app.js Sie dies tun kann Datei, die für mich gearbeitet:

var express = require('express'); 
var app = express(); 

app.get('/', function (req, res) { 
    res.send('Hello World!' + ' Hostname is ' + req.hostname); 
}); 

app.listen(3000, function() { 
    console.log('Example app listening on port 3000!'); 
}); 
+0

Hallo, 'req.hostname: undefined' das ist, was ich für viele Anfragen bekomme. –

+0

Ich bin dabei, meine Antwort zu aktualisieren, um Ihnen einen besseren Kontext zu geben. –

+0

@FahidMohammad wie ich schon sagte: Sie sollten nicht erwarten, dass 'req.hostname' (oder' req.headers.host') immer definiert wird. – robertklep