ホームページ  >  記事  >  ウェブフロントエンド  >  Express で HTTP を HTTPS に転送する方法

Express で HTTP を HTTPS に転送する方法

php中世界最好的语言
php中世界最好的语言オリジナル
2018-06-07 09:41:052023ブラウズ

今回は、Express で HTTP を HTTPS に転送する方法と注意点を説明します。実際のケースを見てみましょう。

ローカルでテストしたとき、HTTPはポート3000を使用し、HTTPSはポート443を使用しました。

HTTPとHTTPSを同時に監視します

前の記事を参照してください。高速ローカルテストHTTPS

すべてのGETリクエストを転送します

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

と同等ですこのとき、ブラウザは 302 (MOVED_TEMPORARILY) ステータス コードを受け取り、HTTPS にリダイレクトされます。

すべてのリクエストを転送します

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

2 つの変更があることに注意してください。

httpApp.get が httpApp.all に変更されました
  1. リダイレクト時に最初のパラメーター 307 (TEMPORARY_REDIRECT) が追加されました
  2. 最初の変更のみが追加された場合、リダイレクト中にメソッドが保持されず、POST リクエストが2 番目の変更を追加するだけです
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

プロジェクトでAngularjsカスタム命令を使用する方法


JQuery要素を操作する方法

以上がExpress で HTTP を HTTPS に転送する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。