Maison  >  Article  >  interface Web  >  Comment diriger HTTP vers HTTPS dans Express

Comment diriger HTTP vers HTTPS dans Express

php中世界最好的语言
php中世界最好的语言original
2018-06-07 09:41:052074parcourir

Cette fois, je vais vous montrer comment diriger HTTP vers HTTPS dans Express et quelles sont les précautions. Ce qui suit est un cas pratique, jetons un coup d'œil.

Lorsque j'ai testé localement, HTTP utilisait le port 3000 et HTTPS utilisait le port 443.

Surveillance HTTP et HTTPS en même temps

Reportez-vous à l'article précédent Test local express HTTPS

Transférer toutes les requêtes GET

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

équivaut à épisser vous-même le lien https puis à le rediriger. À ce moment, le navigateur recevra le 302 (MOVED_TEMPORARILY). code d'état et redirection vers HTTPS .

Transférer toutes les demandes

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

Notez qu'il y a deux modifications :

  1. httpApp.get est remplacé par Le premier paramètre 307 (TEMPORARY_REDIRECT) est ajouté lorsque httpApp.all

  2. redirect

Si seule la première modification est ajouté, la méthode ne sera pas conservée pendant la redirection, ce qui fera de la requête POST une requête GET. Ajoutez simplement la deuxième modification

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. pour des choses plus excitantes. Autres articles connexes sur le site Web chinois php !

Lecture recommandée :

Comment utiliser les instructions personnalisées Angularjs dans les projets

Comment utiliser les éléments JQuery

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn