ホームページ  >  記事  >  ウェブフロントエンド  >  Nodejs は https をローカルに構築します

Nodejs は https をローカルに構築します

王林
王林オリジナル
2023-05-23 16:56:37550ブラウズ

インターネット技術とアプリケーションの継続的な発展に伴い、セキュリティ問題への注目がますます高まっています。伝送セキュリティは、最新のネットワーク アプリケーションにとって必須となっています。これに関連して、HTTPS (Hypertext Transfer Protocol over Secure Socket Layer) がインターネット上のデータ送信の主要な方法になりました。 SSL/TSLプロトコルによるデータの暗号化通信を実現でき、データ通信のセキュリティが大幅に向上します。

HTTPS を使用する場合、サーバー側で証明書を使用する必要があります。証明書はサーバーの身元を証明し、情報送信時のセキュリティを確保するために使用されます。この記事では、Node.js でローカル証明書を使用した HTTPS サーバーを構築する方法を紹介します。

ローカル証明書を生成する方法:
まず、HTTPS 接続を確立するために信頼できる証明書が必要です。各オペレーティング システムのルート証明書は異なる場合があります。自己署名証明書を生成するにはどうすればよいですか? openssl ツールを使用するだけです。

Linux システムを例として、次のコマンドを実行します:

openssl genrsa -out private.key 1024
openssl req -new -key private.key -out cert。 csr
openssl x509 -req -in cert.csr -signkey private.key -out cert.crt

上記のコマンドを順番に実行すると、private.key、c​​ert の 3 つのファイルが生成されます。 csr、cert.crt 。

このうち、private.key は秘密鍵、cert.crt は証明書です。 cert.csr は証明書署名リクエストであり、このファイルは無視できます。

次に、これらのファイルを使用して HTTPS サーバーを構築します。

Node.js は HTTPS を使用してローカル サーバーを構築します。
まず、app.js などの Node.js サーバー ファイルを作成する必要があります。このファイルでは、https モジュールと fs モジュールを導入する必要があります:

const https = require('https');
const fs = require('fs');

次へ、いくつかのパラメータを定義する必要があります。この例では、証明書ファイルとポート番号を定義する必要があります:

const options = {
key: fs.readFileSync('private.key'),
cert: fs.readFileSync('cert.crt')
};
const port = 3000;

このうち、key と cert は上記で生成された証明書ファイルです。

次に、HTTPS サーバーを作成し、ポート番号でリッスンする必要があります:

const server = https.createServer(options, (req, res) => {
res .writeHead (200);
res.end('hello world
');
});

server.listen(port, () => {
console .log (server listen on port ${port});
});

これで、コマンド ラインで次のコマンドを実行して、Node.js サーバー ファイルを実行できるようになります。 :

$ node app.js

ブラウザに https://localhost:3000 と入力すると、証明書が現在自己証明書であるため、ブラウザは Web サイトが安全ではないことがわかります。署名された証明書。サーバーは、この証明書が信頼できるものであるとはみなしません。

ブラウザにこの証明書を信頼させるには、証明書をブラウザにインポートするか、正式な証明書を購入する必要があります。

証明書をインポートするには、Chrome で https://localhost:3000 Web サイトを開き、[詳細設定] ボタンをクリックし、[ローカルホストへの続行 (安全ではありません)] リンクをクリックして、右クリックします。 Web サイトで [証明書の表示] を選択し、証明書の詳細ページで [公開キーのコピー] をクリックします。次に、ブラウザで chrome://settings/certificates を開き、[その他の操作] > [インポート] ボタンをクリックし、ポップアップの [証明書のインポート ウィザード] で、[クリップボードから証明書をインポート] を選択して、 を押します。指示に従ってください。

このようにして、HTTPS サーバーをローカルに構築できます。実際のアプリケーションでは、通信のセキュリティを確保するために正式な証明書を使用する必要があります。

以上がNodejs は https をローカルに構築しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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