HTTPSはインターネット上で安全な通信を行うための標準プロトコルです。 NCache Management Centerは、WindowsとLinuxの両方でKestrelウェブサーバーを介してTLS/SSL暗号化を使用して、 NCache 管理センター。 NCache 管理センターへのアクセスは、設定されたHTTPSエンドポイントを介して行われ、Webインターフェースとの通信は暗号化されます。
前提条件
HTTPS を有効にするには、 NCache Windows版管理センターを使用するには、WindowsマシンにPowerShellバージョン5.1~7.3.9がインストールされている必要があります。
HTTPS を有効にするには、 NCache Linux の Management Center では、証明書を作成するにはマシンに OpenSSL がインストールされている必要があります。
ステップ1: TLS証明書を取得または生成する
エクスポート可能な秘密キーを含む TLS 証明書を作成または取得します。 証明書の作成については、このブログを参照してください。 自己署名証明書の生成.
エクスポート可能な秘密キーを含む TLS 証明書を作成または取得します。 証明書の作成については、このブログを参照してください。 自己署名証明書の生成.
重要
自己署名証明書はローカル開発およびテスト環境に適していますが、 信頼できる認証局 (CA) 本番環境向け。これにより、ブラウザの信頼に関する警告が表示されなくなり、暗号化チェーンの整合性が確保されます。
ステップ2: 証明書をインストールして権限を付与する
生成された証明書を信頼するには、証明書ストアの適切なアカウント (ローカル マシンまたは現在のユーザー) を使用して証明書をインストールする必要があります。 これに関しては、さらに詳しく読むことができます システム証明書ストアの種類. 信頼されたルート証明書をインストールする ユーザー アカウントに次のアクセス許可があることを確認しながら、マシン上で NCache 管理センターとサービス。
お願い
あなたが NCache サービスは、証明書のインポートに使用されたのと同じユーザーアカウントで実行されています。
以来、 ncache ユーザーには証明書ファイルへの読み取りアクセス権がないため、読み取りアクセス権を付与する必要があります ncache ユーザー。 次の手順に従って、Linux の証明書とキー ファイルに対する読み取りアクセス権を付与します。
管理者としてマシンにログインし、 NCache サービスは以下の下で実行されています ncache ユーザー。
次のコマンドを実行します。
.crt証明書付き
ターミナルで次のコマンドを実行します。
sudo chmod +r <path of the .crt file>
sudo chmod +r <path of the .key file>
.pfx 証明書付き
PowerShell を使用して次のコマンドを実行し、作成します。 ncache ディレクトリ、その所有者をに変更 ncache、証明書ストアを作成し、 .pfx ストアへの証明書:
sudo mkdir /home/ncache
// copy certificate to the following directory
cp /certificate_path /home/ncache
sudo chown -r ncache /home/ncache
cd /home/ncache
$store=[System.Security.Cryptography.X509Certificates.X509Store]::new([System.Security.Cryptography.X509Certificates.StoreName]::Root,[System.Security.Cryptography.X509Certificates.StoreLocation]::CurrentUser,[System.Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite)
$store.Add([System.Security.Cryptography.X509Certificates.X509Certificate2]::new("MYCertificate.pfx","password1234",[System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]::PersistKeySet))
ステップ3: appsettings.jsonでKestrelエンドポイントを更新する
証明書が生成され、インストールされたら、HTTPS エンドポイントを更新する必要があります。 アプリ設定.json パスにあるファイル はC:\ Program Files \NCache\bin\tools\web. ディスク上のファイルまたは証明書ストアからの証明書を使用するようにさまざまなエンドポイントを構成する方法の詳細については、次を参照してください。 ASP.NET Core のエンドポイントを構成する Kestrel Web サーバーのドキュメント。 HTTPS エンドポイントを更新する方法は次のとおりです。
{
"Kestrel": {
"EndPoints": {
"Http": {
"Url": "http://0.0.0.0:8251"
},
"HttpsInlineCertStore": {
"Url": "https://0.0.0.0:8252",
"Certificate": {
"Subject": "<subject; required>",
"Store": "<cert store; required>",
"Location": "<location; defaults to CurrentUser>",
"AllowInvalid": "true"
}
}
}
}
}
証明書が生成されたら、HTTPS エンドポイントを追加する必要があります。 config.json パスにあるファイル /opt/ncache/bin/tools/web/config.json. 証明書を使用するようにさまざまなエンドポイントを構成する方法の詳細については、次を参照してください。 ASP.NET Core のエンドポイントを構成する Kestrel Web サーバーのドキュメント。 HTTPS エンドポイントを更新する方法は次のとおりです。
.crt証明書付き
{
"Kestrel": {
"EndPoints": {
"Http": {
"Url": "http://0.0.0.0:8251"
},
"HttpsInlineCertStore": {
"Url": "https://0.0.0.0:8252",
"Certificate": {
"Path": "<path to .pem/.crt file>",
"KeyPath":"<path to .key file>",
"AllowInvalid": "true"
}
}
}
}
}
.pfx 証明書付き
{
"Kestrel": {
"EndPoints": {
"Http": {
"Url": "http://0.0.0.0:8251"
},
"HttpsInlineCertStore": {
"Url": "https://0.0.0.0:8252",
"Certificate": {
"Subject": "<subject; required>",
"Store": "<crt store; required>",
"Location": "<location; defaults to CurrentUser>",
"AllowInvalid": "true"
}
}
}
}
}
必要なプロパティを設定したら、 NCache Management Center で証明書に対して行った変更を受け入れ、次の場所を参照します。 https://localhost:8252.
お願い
ポート 8252 を指定する場合は、最初にファイアウォールを介して有効にする必要があります。
重要
構成変更後のすべての例外は、イベント ビューアに記録されます。
も参照してください
キャッシュの暗号化を構成する
TLS暗号化を構成する NCache