オリジナルリンク:http://www.studyshare.cn/software/details/1175/0
まず、暗号化
1、対称暗号化
すなわち、いわゆる対称暗号化:コンテンツの伝送を暗号化するために、固定の秘密鍵のシリーズを使用して、クライアント、サーバは、復号化に同じ秘密鍵を使用しています。
2、非対称暗号化
SSL証明書(SSLサーバ認証とデータの暗号化とサーバーの身元を確認した後に発行した契約は、信頼できる認証局CAからデジタル証明書、準拠しています。プライベート+公開鍵は、秘密鍵の文字列一組です)
コンテンツの伝送を暗号化するために、クライアントの公開鍵を使用して、すなわち非対称暗号化、コンテンツを解読するための秘密鍵を使用して送信サーバ
Java開発ツールをダウンロードし、チュートリアルギネス、ポイントのインストール[こちら]を。
でより詳細な技術記事、[こちら]。
二、HTTPとHTTPS
HTTPデータがクリアネットワークを介してテキスト、安全でないが、(暗号化なし)高解像度効率で伝送され、使用される、クライアントとサーバが固定されている場合、HTTPS送信が暗号化され、対称暗号鍵、暗号化及び復号化効率が大きくありませんオーバーヘッドが、そこ秘密鍵の漏洩のリスクは、ある十分に確保されていません。非対称暗号化を使用している場合、クライアントは、公開鍵、秘密鍵の暗号化と復号化アルゴリズムのオーバーヘッドを使用してサーバーを使用して、高パフォーマンスのコスト、効率が対称暗号化よりも低いが、より多くを持っています高セキュリティ。
生産環境、httpsの実施形態は、非対称暗号化および対称暗号の組み合わせを使用することです。まず、非対称暗号化クライアントは、クライアントとサーバ間の追加が復号化された対称鍵を使用して、サーバーに送信されるランダムな対称秘密鍵(サーバへのセキュアな送信)を生成しました。図に示すように。
三、nginxの設定HTTPS
1、設定の前提
nginxのモジュールは、HTTPSを有効になっているかどうか、次のように、nginxのnginxの-Vビューを起動して実行します。
HTTPS nginxの構成は2つだけのファイルが必要です。(ブラウザの使用のために公開鍵暗号を含む)ブラウザの証明書、秘密鍵(サーバが解読するために)
server.crtとserver.keyのは、商用証明書を購入するための独自の認証局に行くことができます。また、ご自身のコピーを生成プログラムを使用することができます。ここでは、自己署名証明書。
図2に示すように、自己署名証明書
(1)サーバの秘密鍵を作成し、パスワードを入力する必要があります
opensslのgenrsa -des3 -out server.keyの4096
(2)証明書署名要求(CSR)を作成します。
openssl reqを-new -key server.keyの-out server.csr
秘密鍵nginxのをロードして使用した場合(3)パスワードを削除すると、SSLをサポートしている必要があります
opensslのRSA -in server.keyの-out server_nopass.key
(4)最後に、秘密鍵と証明書を使用してCSRラベル
opensslのX509 -req -days 365 -in server.csr -signkey server_nopass.key -outをserver.crt
証明書ファイルの最後の世代
3、証明書を設定
nginxのconfの設定ファイルでサーバーモジュールが追加されます。
ssl_certificate /usr/local/nginx/server.crt;
ssl_certificate_key /usr/local/nginx/server_nopass.key;
オリジナルの記事は、ソースを明記してください。
Java開発ツールはチュートリアルギネス、ポイントダウンロードしてインストールし、ここを。
でより詳細な技術記事、[こちら]。