2016-05-17 6 views
2

Häufig werden unsere Server bei jeder Bereitstellung 503s für bis zu zwei bis drei Minuten zurückgeben, wenn die Assets kompiliert werden. Wie ist es mit Express/Node möglich, eine statische HTML-Seite zu bedienen, wenn der Servercode 503 zurückkommt? Sicherlich muss es eine einfache Möglichkeit geben, nach bestimmten Fehlercodes zu horchen.Wie zeige ich eine benutzerdefinierte HTML-Seite bei bestimmten Fehlern mit Node/Express an?

+0

Wird der Knotenprozess ausgeführt? Liegt es hinter einem Proxy? – elmigranto

+0

@elmigranto Ja, es ist hinter einem Proxy –

+1

Sie wollen also einen HTML-Code angezeigt, wenn Ihr Knoten Prozess ist? Das hängt vom Proxy selbst ab und davon, wie er Upstream-Fehler behandelt. Es ist nichts spezifisch für node/express/etc. Oder fehlt mir etwas? – elmigranto

Antwort

2

app.usean error handler als letzte Middleware:

app.use(function (err, req, res, next) { 
    if (res.statusCode === 503) 
    return res.render('errors/503.jade'); 

    next(); // default Express' error handler. 
}); 
+0

verwendet Ihr ordentliches Format. –

1

das Format direkt von Express js Seite kopiert.

var bodyParser = require('body-parser'); 
var methodOverride = require('method-override'); 

     app.use(bodyParser()); 
     app.use(methodOverride()); 
     app.use(function(err, req, res, next) { 

if (res.status === 503) 
{ 
res.sendFile('yourfilepath/filename.html'); 
    } 

}); 
Verwandte Themen