[novashare_inline_content]

Nginx で Web アプリケーションをホストする場合、SSL 証明書を使用して Web アプリケーションとの通信を保護することが重要です。購入するオプションがない場合は、無料で証明書を取得できる Let's Encrypt ソリューションがあります。この記事では、Let's Encrypt 証明書を使用して Nginx Web サーバーを Ubuntu 22.04 サーバーにインストールして構成する方法を説明します。

前提条件

このガイドに従うには、以下が必要です。

  • DNS レコードが設定されたドメイン名。これは、最初にサーバーのパブリック IP アドレスを問題のドメイン名にリンクする必要があることを意味します。
  • Linux サーバーからUbuntu 22.04

インストーラー Nginx と PHP

Ubuntu で Let's Encrypt を使用して https 証明書をインストールする前に、Web サーバーが必要です。例として、次を使用します。Nginx、HTTP サーバー、リバース プロキシ、HTTP キャッシュ、ロード バランサーおよびその他のサービスとして広く使用されているオープンソース Web サーバー。

まず、サーバーのリポジトリ キャッシュを更新します。

$ sudo apt update

次に、Nginx のインストールに進みます。

$ $ sudo apt install nginx php-fpm php-mysql

その後、それを起動して自動的にアクティブ化する必要があります。

$ sudo systemctl start Nginx
$ sudo systemctl status nginx
$ sudo systemctl enable Nginx

ファイアウォールを設定する

http、https、SSH など、サーバーが機能するために必要な通信のみを許可するようにファイアウォールを構成することが重要です。これが新しいサーバーの場合、ファイアウォールが無効になっている可能性があります。ステータスを確認して次のことを確認します。

$ sudo ufw status

次に、検出されたアプリケーションをリストして、承認するアプリケーションを選択しましょう。

$ sudo ufw app list

結果には、4 つの事前定義されたプロファイルが表示されます。

  • Nginxフルこれは、同時に開くことができるプロファイルです。ポート 80 (HTTP)など443 (HTTPS)
  • Nginx HTTP開くためだけに使用するプロファイルであるポート80
  • Nginx HTTPSポートを開くためにのみ使用されるプロファイルの場合443 (HTTPS)
  • OpenSSHこれはポートプロファイルです22 (SSH)

ファイアウォールをアクティブにする前に、サーバーへの接続が失われないように、まず SSH アクセスを承認する必要があります。

$ sudo ufw allow 'OpenSSH'

このプロファイルではポート 80 と 443 も許可します。Nginxフル

$ sudo ufw allow 'Nginx Full'

ファイアウォール ルールを変更した後は、ファイアウォール ルールを再起動する必要があります。

$ sudo ufw disable && sudo ufw enable

ここで、それが実際にアクティブであるかどうかを確認する必要があります。

$ sudo ufw status

まず、ブラウザのアドレス バーにサーバーの IP アドレスを入力してアクセスをテストできます。https://IP-SERVER

ドメイン名でアクセスするためのサーバーブロックを作成します

ドメイン名で Web サービスにアクセスするには、構成ファイルにサーバー ブロックを作成する必要があります。これらのファイルは通常、次のディレクトリに作成されます。/etc/nginx/sites-available/

$ sudo vim /etc/nginx/sites-available/web-demo.com

競合の可能性を避けるために、Nginx の現在のデフォルト設定を無効にします。

$ sudo rm /etc/nginx/sites-enabled/default

フォルダー内にファイルのショートカットを作成して、構成をアクティブにしましょう/etc/nginx/sites-enabled/

$ sudo ln -s /etc/nginx/sites-available/web-demo.com /etc/nginx/sites-enabled/

次に、構成にエラーがないことを確認してみましょう。

変更を考慮するには、サービスを再起動する必要があります。

$ sudo systemctl restart nginx.service

ブラウザを開いてアクセスをテストできますhttps://web-demo.com。まだ安全ではないことがわかります。それでは、Ubuntu 22.04 への Let's Encrypt のインストールに進みましょう。

UbuntuにLet's encryptをインストールして証明書を生成する

暗号化しましょうは、ブラウザによってネイティブに認識される HTTPS サーバーをセットアップするための無料の証明書を発行する認証局 (CA) です。これは、ドメイン名を調べて、DNS レコードが設定されていることを確認することによって行われます。証明書とは異なります古典、彼らが提供するものは90日間の有効期限があります。つまり、3 か月ごとに手動で更新するか、CRON タスクを実行して更新する必要があります。 Ubuntu に Let's Encrypt をインストールするには、次の手順を実行します。証明書ボット

$ sudo apt install certbot python3-certbot-nginx

これで、目的のドメイン名の証明書を生成できるようになりました。最初に DNS レコードが存在する必要があることに注意してください。

$ sudo certbot --nginx -d web-demo.com

HTTP から HTTPS への自動リダイレクトを検証するプロセス中に、certbot が構成ファイルに行を追加したことがわかります。

$ vim /etc/nginx/sites-available/web-demo.com

変更を有効にするには、Nginx を再起動する必要があります。

$ sudo systemctl restart nginx.service

安全でないリンクを介してドメインへのアクセスを試みることができますhttps://web-demo.com。安全なリンクに自動的にリダイレクトされることがわかります。https://web-demo.com

これで、Ubuntu 22.04 Linux サーバー上に let's Encrypt 証明書を備えた安全な Nginx Web サーバーが作成されました。

この記事をシェアする

[novashare_inline_content]

あなたも私たちにできます記事のアイデアを提出する検索結果が異なる場合。