Heim  >  Artikel  >  Web-Frontend  >  So leiten Sie HTTP in Express zu HTTPS um

So leiten Sie HTTP in Express zu HTTPS um

php中世界最好的语言
php中世界最好的语言Original
2018-06-07 09:41:052097Durchsuche

Dieses Mal zeige ich Ihnen, wie Sie HTTP zu HTTPS in Express umleiten und welche Vorsichtsmaßnahmen Sie beachten müssen. Das Folgende ist ein praktischer Fall, schauen wir uns das an.

Als ich lokal getestet habe, verwendete HTTP Port 3000 und HTTPS Port 443.

HTTP und HTTPS gleichzeitig überwachen

Siehe den vorherigen Artikel Express Local Test HTTPS

Alle GET-Anfragen weiterleiten

httpApp.get("*", (req, res, next) => {
  let host = req.headers.host;
  host = host.replace(/\:\d+$/, ''); // Remove port number
  res.redirect(`https://${host}${req.path}`);
});

ist gleichbedeutend damit, den https-Link selbst zu spleißen und dann umzuleiten. Zu diesem Zeitpunkt erhält der Browser den Statuscode 302 (MOVED_TEMPORARILY). und auf HTTPS umleiten.

Alle Anfragen weiterleiten

httpApp.all("*", (req, res, next) => {
  let host = req.headers.host;
  host = host.replace(/\:\d+$/, ''); // Remove port number
  res.redirect(307, `https://${host}${req.path}`);
});

Beachten Sie, dass es zwei Änderungen gibt:

  1. httpApp.get ist geändert zu httpApp.all

  2. Der erste Parameter 307 (TEMPORARY_REDIRECT) wird beim Umleiten hinzugefügt

Wenn nur die erste Änderung hinzugefügt wird, beim Umleiten Die Methode wird nicht beibehalten, wodurch die POST-Anfrage zu einer GET-Anfrage wird.

Ich glaube, Sie haben die Methode beherrscht, nachdem Sie den Fall in diesem Artikel gelesen haben Achten Sie auf andere chinesische PHP-Websites. Verwandte Artikel!

Empfohlene Lektüre:

So verwenden Sie benutzerdefinierte Angularjs-Anweisungen in Projekten

So bedienen Sie JQuery-Elemente

Das obige ist der detaillierte Inhalt vonSo leiten Sie HTTP in Express zu HTTPS um. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn