GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu 20.04/18.04でLetsEncryptを使用してNginxを保護する方法

はじめに

訪問者を引き付けることを目指すWebサイトには、そのドメインにSSL/TLS暗号化を含める必要があります。 SSL / TLS証明書は、Webサーバーとブラウザ間の安全な接続を保証します。

Let’s Encryptは、このような保護を設定できる無料の認証局です。これは、Nginxサーバーを保護するための最も簡単な方法です。

この記事では、Certbotソフトウェアを使用してLet’s Encrypt証明書を取得することにより、Nginxサーバーを保護する最も簡単な方法を紹介します。

前提条件

  • Ubuntu 20.04(またはUbuntu 18.04)を実行しているシステム
  • ターミナルウィンドウ/コマンドラインへのアクセス
  • 須藤 またはルート ローカル/リモートマシンの特権
  • Nginxのインストールとセットアップ
  • 登録済みドメイン名
  • そのドメイン名用に構成されたサーバーブロック

Ubuntu20.04でLet'sEncryptを使用してNginxを保護する方法

ステップ1:Certbotをインストールする

Certbotは、Let’sEncrypt証明書を使用してHTTPSを自動的に有効にするためのオープンソースソフトウェアツールです。

Let’s EncryptでNginxを保護するための最初のステップは、Certbotをインストールすることです。これを行うには、まずターミナルウィンドウを開き、ローカルリポジトリを更新します。

sudo apt update

次に、次のコマンドを実行して、CertbotとそのNginxプラグインをダウンロードしてインストールします。

sudo apt install certbot python3-certbot-nginx

yと入力します インストールを確認してEnterキーを押します。

ステップ2:Nginx構成を確認する

前提条件に記載されているように、登録済みドメインとそのドメインのNginxサーバーブロックがすでに存在している必要があります。例として、この記事ではドメイン example.comを使用しています 。

正しく設定されているかどうかを確認するには、Nginx構成ファイルを開きます。

sudo nano /etc/nginx/sites-available/example.com

次に、 server_nameを見つけます ディレクティブを作成し、ドメイン名に設定されていることを確認してください。 www。の有無にかかわらずドメイン名を含めたい場合 プレフィックスを付けると、行は次のようになります。

server_name example.com www.example.com;

ステップ3:HTTPSトラフィックを許可するようにファイアウォールを調整する

次のステップは、HTTPSトラフィックを許可するようにファイアウォールを調整することです。

Nginxインストールガイドに従っている場合は、ファイアウォールを有効にしてNginxHTTPを許可しています。 Let’s Encrypt証明書を追加するときは、暗号化されたトラフィック用にファイアウォールを構成する必要があります。

1.ファイアウォールがアクティブでHTTPSトラフィックを許可していることを確認するには、次のコマンドを実行します。

sudo ufw status

出力には、UFWがアクティブであることが示され、設定されたルールのリストが表示されます。次の例では、ファイアウォールがNginx HTTPトラフィックを許可しているが、HTTPSは許可していないことを示しています。

Nginxには、ルールとして追加できる3つのプロファイルがあります。

  • Nginx HTTP (ポート80を開きます)
  • Nginx HTTPS (ポート443を開く–暗号化されたトラフィック)
  • Nginx Full (ポート80と443を開きます)

2.暗号化されたトラフィックを許可するには、 Nginx HTTPSを追加します。 プロファイルを作成するか、 Nginx Fullを使用します 既存のNginxHTTPルールを削除します:

a)次のコマンドを実行してNginxHTTPSトラフィックを許可します:

sudo ufw allow 'Nginx HTTPS'

b)Nginx HTTPを削除し、代わりにNginxFullを使用します。

sudo ufw deny 'Nginx HTTP'
sudo ufw allow 'Nginx Full'

3. ufw statusを使用して、HTTPSトラフィックを許可するルールを追加したことを確認します コマンド。

ステップ4:SSL/TLS証明書を取得する

Certbot用のNginxのプラグインは、Nginxを再構成し、必要に応じてその構成を再読み込みします。したがって、実行する必要があるのは、NGINXプラグインを使用して証明書を生成することだけです。

1.これを行うには、次のコマンドを実行します:

sudo certbot --nginx -d example.com -d www.example.com

2.出力では、HTTPS設定を構成するように求められます。メールアドレスを入力し、利用規約に同意して続行してください。

3. HTTPSを構成すると、Certbotは証明書の生成を完了し、新しい設定でNginxをリロードします。

4.最後に、出力に証明書が正常に生成されたことが表示され、サーバー上の証明書の場所が指定されます。

ステップ5:証明書の自動更新を有効にする

Let’s Encryptの証明書は90日ごとに期限切れになるため、Nginxではcronジョブの設定と自動更新をお勧めします。

1.まず、現在のユーザーのcrontab構成ファイルを開きます。

crontab -e

2. certbotを実行するcronジョブを追加します コマンド。証明書が30日以内に期限切れになることを検出すると、証明書を更新します。毎日指定された時間に実行するようにスケジュールします(この例では、午前5時に実行します):

0 5 * * * /usr/bin/certbot renew --quiet

cronジョブには、 --quietも含める必要があります 上記のコマンドのように、属性。これは、タスクの実行後に出力を含めないようにcertbotに指示します。

3. cronジョブを追加したら、変更を保存してファイルを終了します。


Ubuntu
  1. Ubuntu18.04でLet'sEncryptを使用してNginxを保護する-その方法は?

  2. Ubuntu20.04でLet'sEncryptを使用してNginxを保護する方法

  3. Ubuntu18.04でLetsEncryptを使用してApacheを保護する方法

  1. Ubuntu18.04でLetsEncryptを使用してNginxを保護する

  2. Ubuntu16.04でLetsEncryptを使用してNginxを保護する

  3. Ubuntu20.04でLetsencryptを使用してNginxを保護する方法

  1. Ubuntu18.04でLetsEncryptを使用してApacheを保護する

  2. Ubuntu20.04でLetsEncryptを使用してNginxを保護する

  3. Ubuntu20.04でLetsEncryptを使用してApacheを保護する