チュートリアル: Sitecore CA証明書をNode.js用に設定する
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
ローカル環境では、Sitecoreインスタンスはプライベート署名された証明書を使用してインストールされます。ただし、これらはルートCAが不明なため、Node.jsによって拒否されます。Node.js 7.3.0以降では、NODE_EXTRA_CA_CERTS環境変数を使用して、既知の追加の証明書をNode.jsに追加できます。
プライベート署名証明書が正しく構成されていない場合、JSSアプリケーションの実行時にコードUNABLE_TO_VERIFY_LEAF_SIGNATUREのエラーが表示されます。例えば:
このチュートリアルでは、プライベート署名されたSSL証明書を受け入れるようにNode.jsを設定するために必要な手順について説明します。
-
Sitecoreコンテナを使用している場合は、Sitecoreインスタンスで使用されている証明書ファイルを特定します。または、SIF Sitecoreインストールの証明書ファイルを作成します。
-
証明書をNode.js環境に提供します。
Sitecore Containersインスタンスで使用されている証明書ファイルを特定します
DockerベースのSitecoreコンテナーの場合、証明書ファイルはプロジェクトのセットアップ中にmkcertによって作成されました。
証明書の場所を見つけるには、ターミナルのプロジェクトのルートディレクトリで、次のコマンドを実行します。
証明書はPEM形式であり、デフォルトではrootCA.pemと呼ばれます。ファイルパスはC:\Users\<username>\AppData\Local\mkcert\rootCA.pemのようになります。
Sitecoreオンプレミス インスタンスで使用する証明書ファイルを作成します
Sitecore Installation Framework (SIF) を使用してインストールされたSitecoreインスタンスの場合、Windows証明書ストアから証明書をエクスポートする必要があります。
証明書をエクスポートするには:
-
コマンドラインからcertlmを使用するか、「コンピューター証明書の管理」を検索して、ローカルコンピューターのWindows証明書マネージャーを開きます。
-
Trusted Root Certification > Certificatesで、Sitecore Installation Framework証明書を右クリックし、をクリックしてからをクリックします。
-
新しいウィンドウで、をクリックします。
-
Export File Format画面で、Base-64 encoded X.509 (.CER)を選択し、をクリックします。
-
ファイル名 (SIFRoot.cerなど) と、.cerファイルを保存する場所を入力します。をクリックし、をクリックします。
Sitecoreコンテナとオンプレミス インスタンスの両方がある場合は、証明書を1つのファイルにまとめることができます。例えば:
Node.js環境に証明書を提供する
証明書をNode.js環境に含めるには、Node.jsの既知のルート証明書に証明書を追加する必要があります。
.envファイルに追加してdotenvライブラリを使用すると、この方法で定義された環境変数の読み込みが遅すぎてNode.js認識できないため、機能しません。
証明書を提供するには、いくつかのオプションがあり、すべて次のNODE_EXTRA_CA_CERTSを使用します。
-
ローカル環境またはシステム環境で、次のコマンドを実行します。
システム全体の証明書を設定するには、オプションの /mパラメータを使用します。
ターミナルまたはコードエディタを再起動して、変更を有効にします。
-
PowerShellセッションで、次のスクリプトを実行します。
新しいセッションを開始するときに、この手順を繰り返す必要があります。
-
JSSアプリケーションのpackage.jsonファイルで、スクリプトstart:connectedを変更します。