ブログに戻る

Ubuntu 20.04でのNginxによる基本HTTP認証の設定

Ubuntu 20.04でのNginxによる基本HTTP認証の設定

Nginx は、以下の用途で使用される無料のオープンソースWebサーバーです: ロードバランシング、バッファリング、およびキャッシュ。2004年の登場以来、NginxはWebサーバーのスケーリングやリバースプロキシとして人気を博してきました。その高いパフォーマンスと、大量の接続を処理する優れた能力により、流入するトラフィックの管理と制御に使用されています。

HTTP認証はどのように機能しますか?

In 基本HTTP認証では、サーバー上のすべてのルートがブロックされ、認証のために適切な資格情報が必要になります。ユーザーが保護されたリソースにアクセスしようとするたびに、サーバーはユーザーにWWW-Authenticateヘッダー401 Unauthorized レスポンスを送信します。ユーザーが使用したユーザー名とパスワードが正しく、キーファイルと一致する場合、接続が確立され、そうでない場合は拒否されます。

このチュートリアルでは、Ubuntu 20.04でNginxを使用して基本HTTP認証をセットアップする.

前提条件

このチュートリアルを進めるには、以下が必要です:

ステップ1:ソフトウェアリポジトリの更新

システムに新しいソフトウェアやAPIパッケージをインストールする前に、エラーやパッケージの競合を避けるためにリポジトリを更新します。まず、以下の sudo コマンドを使用してソフトウェアを更新します:

ソフトウェアリポジトリが更新されたので、必要な apache2 パッケージをインストールしましょう。

ステップ2:必要なパッケージのインストール

ディレクトリに対してHTTP認証を設定するため、暗号化されたパスワードを作成するために htpasswd コマンドを使用します。次のコマンドを使用して、apache2-utilsパッケージ をインストールします:

ステップ3:ユーザーとパスワードの作成

このステップでは、基本HTTP認証の資格情報を設定します。ルートディレクトリの下に、ユーザーに関連付けられた .htpasswd ファイルを作成します。パスワードは暗号化され、ファイル名は任意のもので構いません。次のコマンドを使用してファイルを作成し、暗号化されたパスワードを持つユーザーを追加します:

User and Password

次に、以下のコマンドを使用して、新しく作成されたファイルを確認します:

newly-created file

ステップ4:Nginx設定の更新

HTTP基本認証の資格情報が用意できたら、Nginxを設定して対象のWebサイトで使用しましょう。HTTP基本認証を確立するには、 auth_basic および auth_basic_user_file ディレクティブが必要です。 auth_basic ディレクティブの値は文字列形式であり、 auth_basic_user_file の値は、ステップ3.

で作成したパスワードファイルへのパスです。対象のWebサイトの設定ファイルにこれら2つのディレクティブを含めることが重要です。対象のWebサイトの場所は、 /etc/nginx/sites-available ディレクトリにあります。nanoエディタを使用して設定ファイルを開きます:

次に、これら両方のディレクティブを location セクションの下に追加します:

ディレクティブを追加した後、設定ファイルを保存して閉じます。

ステップ5:Nginxの再起動

次に、バーチャルホストへの変更を適用するために、Nginxサービスをリロードまたは再起動します。その後、基本HTTP認証を使用して保護されたドメインへのアクセスを試みます。Nginxサービスを有効にするには、次のコマンドを使用します:

ステップ 6: セキュアなWebアクセス

Nginxを再起動したら、次のステップはお好みのブラウザでIPアドレスまたはドメイン名へのアクセスを試みることです。IPアドレス http://your_domain_name/ をブラウザでクリックすると、認証用の資格情報の入力を求めるプロンプトが表示されます。正しいユーザー名とパスワードを入力すると、デフォルトのNginxホームページが表示されます。

まとめ

このチュートリアルでは、Nginxで基本的なHTTP認証を設定する方法を学びました。基本的なユーザー名/パスワード認証は、Nginxで安全な接続を確立するための多くの認証オプションの1つにすぎません。

サーバー認証に使用される強力なオプションは他にもあります。たとえば、利用可能な一般的な方法には、API統合、JSON Web Tokens、SSHキーベースの認証などがあります。堅牢なセキュリティメカニズムの導入は最初は難しく思えるかもしれませんが、プライバシーを保護する上で非常に効果的です。

さらに、Nginxに関する他の多くの学習教材やチュートリアルには、当社のブログからアクセスできます:

快適なコンピューティングを!

author

Shreyas Patil

著者 · CloudSigma

Preslav DobrevはCloudSigmaのクリエイティブデザイナーであり、従来型および革新的なマーケティングチャネルを活用した一貫性のあるビジネスアイデンティティに注力しています。彼は芸術的なビジョンと戦略的マーケティングを融合させ、インパクトのあるブランドナラティブを生み出すことに長けています。

コメント

コメントはまだありません。最初のコメントを投稿しましょう。