nginxのへのHTTPS(無料証明書)を設定する方法

 

はじめに:

  HTTPプロトコルは、無料のSSL証明書、またはそれ以上の主流の道のために適用されますが、次第に一部のブラウザは自己署名証明書をサポートしていません取得します。結局のところ、これはユーザーのためのプラットフォームであり、安全な方法となっている、それは理解できるが、しかし、多くのウェブサイトでもまた、あなたのサイトの無料のSSL証明書を申請することができ、市販の支払証明書を使用せずにあります。したがって、この参照のみ、レコードなどのアプローチか、一部の古いバージョンや個々のブラウザでこの自己署名証明書のhttpsを使用することができます。

 

本体:

あなたがリバースプロキシとしてnginxのを使用する場合は、この記事では、どのようにHTTPSのnginxで設定する方法を教えることができるので、あなたのバックエンドサービスは、httpも問題ありません場合でも。

まず、私たちは、証明書が必要

  以前、「書いたTomcatのHTTPSの設定(無料証明書)」ジェーンの本は(- 2の間に関連する多くの知識がまだある、内側に見える私のホームページに移動することができます見てみたい入れています、) nginxのを使用してPEM形式の証明書で証明書を、分類するために使用されて、我々はそれが開いている二つのファイル、1つのファイル.KEYの必要性であるスプリット、.CRTファイルです。

第二に、どのように自由な証明書を取得します

最初:あなたがWindowsユーザーであり、証明書のフォーマットの.keystoreがある場合

そして、あなたは、キーストアの証明書は、PEM証明書に変換するJKS2PFX変換ツールを使用することができ、操作の方法があり、:ツールのディレクトリにcdし、コマンドを実行します。

$ JKS2PFX <キーストアファイル> <キーストアのパスワード> <エイリアスエイリアス> <エクスポートファイル名>

第二:あなたは、LinuxやOSXシステムがある場合

  1. 秘密鍵は、実行、キー生成されます。

$ opensslのgenrsa -des3 -out server.keyの2048

二回することができ、同じを入力し、パスワードの入力を求めています

パスワードを入力
して、あなたはserver.keyのファイルを取得し
、このファイルを使用した後(またはAPI提供opensslコマンドを)頻繁にパスワードが必要な返すことがあり、パスワードを入力し、次のコマンドを使用することができます削除するには。:

$ opensslのRSA -in server.keyの-out server.keyの

  1. サーバ証明書の申請書類のserver.csrを作成し、実行します。

$ののopenssl reqを-new -key server.keyの-out server.csr

 

安全ではないとみなされるブラウザを満たさない場合は、記入しないことができCN、共通名、ホスト名を記入を埋める国名(あなたのURLの残りの部分のために、例えば。HTTPS:// ABCD / XXXX ....ここにあなたがABCDを埋めることができます) 、他は埋めることはできません。

  1. CA証明書を作成します。

$ opensslのREQを-new -key -x509 server.keyの-out ca.crt -days 3650

この時点で、あなたはca.crtの証明書を取得することができ、この証明書は、証明書の署名を所有するために使用されます。

  1. サーバ証明書をserver.crtの日から現在の10年間から作成されました:

$ opensslのX509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.keyの-CAcreateserial -outをserver.crt

  1. lsのフォルダは、あなたは合計生成された5つの文書を見ることができます:

ca.crt ca.srlをserver.crt server.csr server.keyの
をserver.crtとserver.keyのは、あなたのnginxのは、証明書ファイルが必要です。

第三に、設定するには、どのようにnginxの

  1. あなたのnginxの設定ファイルを開き、検索が443 HTTPSの設定、コメントを解除し、このコードまたは直接私に以下の設定をコピーを見つけました:

サーバー{

        443を聞きます。

        サーバー名はlocalhost。

        上のSSL;

        ssl_certificate /root/Lee/keys/server.crt;#は、証明書の場所を設定します

        位置に配置されssl_certificate_key /root/Lee/keys/server.key;#キー

        #ssl_client_certificate ca.crt;#相互認証

        #相互認証、上#ssl_verify_client

        ssl_session_timeout 5メートル。

        ssl_protocolsのSSLv2のSSLv3 TLSv1の。

        ssl_ciphers ALL:ADH:EXPORT56:RC4 + RSA:+ HIGH:+ MEDIUM:+ LOW:+ SSLv2の!:+ EXP。

        ssl_prefer_server_ciphers上;

  1. ssl_certificateはをserver.crtパスを変更し、ssl_certificate_keyのserver.keyのパスが変更されました。
  2. nginxの-sリロードリロード設定

この時点で、nginxのは、デフォルトの443ポートhttpsを使用する準備ができています。

 

おすすめ

転載: www.cnblogs.com/immense/p/11402157.html