SSL証明書を簡単に取得してインストールする新しい認証局(CA)です。これにより、Webサーバーで暗号化されたHTTPSを有効にします。+`と呼ばれていました)を提供することにより、プロセスを簡素化します。Webサーバーでのみ完全に自動化されています。Encryptを使用すると、無料のSSL証明書を簡単に取得できます。この証明書は、ウェブサーバーソフトウェアの選択に関係なく、手動でインストールできます。8のNginxで使用する方法を示します。SSL証明書を自動的に更新する方法も示します。別のWebサーバーを実行している場合は、Webサーバーのドキュメントに従って、セットアップで証明書を使用する方法を学習してください。SSL証明書を暗号化し、自動更新するNginx]前提条件このチュートリアルを実行する前に、いくつかのものが必要です。8サーバーが必要です。8の初期サーバーセットアップチュートリアルに従って、このようなユーザーアカウントを設定する方法を学ぶことができます。[このガイド]に従ってインストールしてください。証明書を使用する登録ドメイン名を所有または制御する必要があります。Namecheap、GoDaddyなど)。Encryptが証明書を発行するドメインを所有していることを検証する方法のために必要です。」の証明書を取得する場合、検証プロセスが機能するためには、そのドメインがサーバーに解決される必要があります。+」を使用するため、両方のDNSレコードが必要です。Encryptクライアントソフトウェアのインストールに進みましょう。Encryptクライアントをインストールすることです。`パッケージは利用できませんでした。+`パッケージにアクセスするには、サーバーでJessieバックポートリポジトリを有効にする必要があります。このリポジトリを使用して、安定したリポジトリに含まれているソフトウェアよりも新しいバージョンのソフトウェアをインストールできます。次のように入力して、サーバーにバックポートリポジトリを追加します。+`パッケージインデックスを更新して、新しいパッケージに関する情報をダウンロードします。+`パッケージをインストールできます。+`クライアントを使用する準備ができました。Encryptは、さまざまなプラグインを通じてSSL証明書を取得するさまざまな方法を提供します。[別のチュートリアル]で説明されているApacheプラグインとは異なり、ほとんどのプラグインは、使用するWebサーバーを手動で構成する必要がある証明書の取得にのみ役立ちます。証明書を取得するだけでインストールしないプラグインは、サーバーに証明書を発行するかどうかを認証するために使用されるため、「認証者」と呼ばれます。*プラグインを使用してSSL証明書を取得する方法を示します。`ディレクトリに特別なファイルを配置することで機能します。Encryptサービスによって(Webサーバーを介して)開くことができます。+`ディレクトリへのアクセスを明示的に許可する必要がある場合があります。[このチュートリアル]に従ってインストールしてください。終了したら、下に進みます。Encryptがディレクトリにアクセスできるようにするために、Nginxの設定を簡単に変更しましょう。nano`を使用します。/etc/nginx/sites-available/defaultサーバーブロック内に、次の場所ブロックを追加します。`ディレクティブを検索して、ドキュメントルートに設定されているものを検索することもできます。html`になります。構成に構文エラーがないか確認してください。successfulエラーが見つからない場合は、次のコマンドでNginxを再起動します。+`がわかったので、Webrootプラグインを使用してこれらのコマンドでSSL証明書を要求できます。+`オプションを使用してドメイン名も指定しています。+)、それらすべてを必ず含めてください。Encryptの利用規約に同意するよう求められます。その後、チャレンジが実行されます。すべてが成功した場合、次のような出力メッセージが表示されます。https://eff.org/donate-le出力例で強調表示された証明書のパスと有効期限に注意してください。証明書ファイル証明書を取得すると、次のPEMエンコードファイルが作成されます。作成したばかりの証明書ファイルの場所を知っておくことは重要です。そのため、それらをWebサーバーの構成で使用できます。`のサブディレクトリに配置されます。+`ディレクトリに最新の証明書ファイルへのシンボリックリンクを作成します。リンクは常に最新の証明書ファイルを指すため、これは証明書ファイルを参照するために使用する必要があるパスです。次のコマンドを実行して(ドメイン名に置き換えて)ファイルが存在することを確認できます。/etc/letsencrypt/live/出力は、前述の4つの証明書ファイルになります。+」を使用するようにウェブサーバーを設定します。強いDiffie-Hellmanグループを生成するセキュリティをさらに高めるには、強力なDiffie-Hellmanグループも生成する必要があります。2048ビットグループを生成するには、次のコマンドを使用します。+」に強力なDHグループが作成されます。Webサーバーを構成する必要があります。構成をいくつか調整します。SSLキーと証明書ファイルの場所を含む構成スニペットを作成します。将来的に任意の証明書で使用できる強力なSSL設定を含む構成スニペットを作成します。Nginxサーバーブロックを調整してSSLリクエストを処理し、上記の2つのスニペットを使用します。このNginxの設定方法により、サーバーブロックをクリーンに保ち、共通の設定セグメントを再利用可能なモジュールに配置できます。+`ディレクトリに新しいNginx設定スニペットを作成しましょう。+`を付けて名前を付けます。ssl_certificate_key`を設定するだけです。私たちの場合、これは次のようになります。/etc/letsencrypt/live//privkey.pem;これらの行を追加したら、ファイルを保存して閉じます。強力な暗号化設定で構成スニペットを作成する次に、SSL設定を定義する別のスニペットを作成します。これにより、Nginxに強力なSSL暗号スイートが設定され、サーバーのセキュリティを維持するのに役立ついくつかの高度な機能が有効になります。設定するパラメーターは、将来のNginx構成で再利用できるため、ファイルに一般的な名前を付けます。Elst]の推奨事項を使用します。このサイトは、一般的なソフトウェアの使いやすい暗号化設定を提供するように設計されています。[こちら]をご覧ください。この目的のために、提供された設定全体をコピーできます。アップストリームリクエストに優先DNSリゾルバを追加します。このガイドではGoogleを使用します。+`設定を設定します。「プリロード」機能]。HSTSをプリロードするとセキュリティが向上しますが、誤って有効にしたり誤って有効にしたりすると、広範囲に及ぶ結果を招く可能性があります。このガイドでは、設定をプリロードしませんが、その意味を理解していることが確実な場合は変更できます。nosniff;完了したら、ファイルを保存して閉じます。Nginx構成を調整してSSLを使用するスニペットができたので、Nginxの構成を調整してSSLを有効にできます。+`サーバーブロックファイルを使用していると仮定します。別のサーバーブロックファイルを使用している場合は、以下のコマンドでその名前を置き換えてください。先に進む前に、現在のサーバーブロックファイルをバックアップしましょう。/etc/nginx/sites-available/default.bak次に、サーバーブロックファイルを開いて調整します。/etc/nginx/sites-available/default内部では、サーバーブロックはおそらく次のように始まります。.暗号化されていないHTTP要求が暗号化されたHTTPSに自動的にリダイレクトされるように、この構成を変更します。これにより、サイトに最高のセキュリティが提供されます。HTTPトラフィックとHTTPSトラフィックの両方を許可する場合は、次の代替構成を使用します。構成を2つの個別のブロックに分割します。+`ディレクティブを追加します。次に、作成する2番目のサーバーブロックへのリダイレクトを設定します。その後、この短いブロックを閉じます。.次に、すぐ下に新しいサーバーブロックを起動して、残りの構成を含める必要があります。+`ディレクティブのコメントを外すことができます。その後、設定した2つのスニペットファイルを含めるだけです。.完了したら、ファイルを保存して閉じます。(代替構成)HTTPおよびHTTPSトラフィックの両方を許可する暗号化されたコンテンツと暗号化されていないコンテンツの両方を許可する必要がある場合、またはNginxを少し異なるように構成する必要があります。これは、回避できる場合は一般的に推奨されませんが、状況によっては必要になる場合があります。基本的に、2つの個別のサーバーブロックを1つのブロックに圧縮し、リダイレクトを削除します。.完了したら、ファイルを保存して閉じます。ステップ4:ファイアウォールを調整するファイアウォールを有効にしている場合は、SSLトラフィックを許可するように設定を調整する必要があります。必要な手順は、使用しているファイアウォールソフトウェアによって異なります。現在ファイアウォールが設定されていない場合は、お気軽にスキップしてください。*を使用している場合は、次のように入力して現在の設定を確認できます。statusこれはおそらく次のようになります。WebサーバーへのHTTPトラフィックのみが許可されます。Full」プロファイルを許可してから、冗長な「WWW」プロファイル許可を削除します。'WWW'ステータスは次のようになります。(v6)これで、HTTPS要求がサーバーで受け入れられます。+`を使用している場合、次のように入力して現在のルールを確認できます。-S有効にしたルールがある場合は、それらが表示されます。設定例は次のようになります。ACCEPTSSLトラフィックを開くために必要なコマンドは、現在のルールによって異なります。上記のような基本的なルールセットの場合、次のように入力してSSLアクセスを追加できます。ACCEPTファイアウォールルールをもう一度見ると、新しいルールが表示されます。+`ルールを自動的に適用する場合、新しいルールで設定を更新することを確認する必要があります。ステップ5:Nginxの変更を有効にする変更を行い、ファイアウォールを調整したので、Nginxを再起動して新しい変更を実装できます。ファイルに構文エラーがないことを確認する必要があります。これを行うには、次のように入力します。-tすべてが成功すると、次のような結果が得られます。successful出力が上記と一致する場合、構成ファイルに構文エラーはありません。Nginxを安全に再起動して、変更を実装できます。SSL証明書が配置され、ファイアウォールでポート80および443へのトラフィックが許可されるようになりました。SSL証明書が機能することをテストする必要があります。Labsレポートを使用して、サーバー構成のスコアを確認できます。browser:https://www.ssllabs.com/ssltest/analyze.html?d=これには数分かかる場合があります。*の評価を報告する必要があります。Encrypt証明書は90日間有効ですが、エラーを許容するために60日ごとに証明書を更新することをお勧めします。Encryptクライアントを実行することにより、手動で証明書を更新できます。インストールされているすべてのドメインの更新プロセスをトリガーするには、次のコマンドを実行します。renew証明書を最近インストールしたため、コマンドは有効期限を確認するだけで、証明書がまだ更新されていないことを通知するメッセージを出力します。出力は次のようになります。attempted.複数のドメインを含むバンドルされた証明書を作成した場合、ベースドメイン名のみが出力に表示されますが、更新はこの証明書に含まれるすべてのドメインに対して有効であることに注意してください。証明書が古くなることのないようにするための実用的な方法は、自動更新コマンドを定期的に実行するcronジョブを作成することです。更新は最初に有効期限をチェックし、証明書の有効期限が30日以内の場合にのみ更新を実行するため、たとえば毎週または毎日実行されるcronジョブを作成しても安全です。crontabを編集して、毎週更新コマンドを実行する新しいジョブを作成しましょう。rootユーザーのcrontabを編集するには、次を実行します。+`を使用するのが初めての場合、好みのテキストエディタを選択するように求められる場合があります。*を簡単に選択できます。/var/log/le-renew.log保存して終了。`コマンドを実行する新しいcronジョブが作成され、証明書が更新されるとNginxがリロードされます。+`にあるログファイルにパイプされます。SSL証明書を使用してHTTPSコンテンツを安全に提供しています。