開発者ドキュメント

Ubuntu12.10でNginxを使用してHTTP認証を設定する方法

の意味

このチュートリアルでは、ユーザーが入力またはカスタマイズする必要のある行はになります。 残りはほとんどコピーアンドパスタブルである必要があります。

Nginxについて

Nginx(「enginex」と発音)は、HTTPおよびリバースプロキシサーバーであり、apacheと比較して柔軟で軽量なプログラムであるIgorSysoevによって作成されたメールプロキシサーバーです。 公式のnginxドキュメントはこちらです。

前提条件

前提条件として、VPSのセットアップ方法に関する記事を読み、Nginxをインストールしていることを前提としています。 そうでない場合は、初期サーバーセットアップの記事でVPSのセットアップに関する記事を見つけることができます。また、nginxのインストールに関する詳細情報をコミュニティで見つけることができます。

ステップ1:Apache Utils

基本認証を使用してユーザー用に暗号化されたものを作成および生成するには、htpasswdが必要です。 以下のコマンドを使用してapache2-utilsをインストールします。

  sudo apt-get install apache2-utils

ステップ2:ユーザーとパスワードを作成する

nginxによって提供されているWebサイトディレクトリの下に.htpasswdファイルを作成します。 次のコマンドはファイルを作成し、ユーザーと暗号化されたパスワードをファイルに追加します。

  sudo htpasswd -c /etc/nginx/.htpasswd exampleuser

ツールはパスワードの入力を求めます。

New password:
Re-type new password:
Adding password for user exampleuser

htpasswdファイルの構造は次のようになります。

login:password

このhtpasswdには、Nginxを実行しているユーザーアカウントからアクセスできる必要があることに注意してください。

ステップ3:Nginx構成を更新する

Webサイトのnginx構成ファイルは、/ etc / nginx /sites-available/の下にある必要があります。 保護するドメインパスについて、以下の2つのエントリを追加します。

    auth_basic "Restricted";
    auth_basic_user_file /etc/nginx/.htpasswd;

2行目は、Webサイトのhtpasswdファイルの場所です。

たとえば、nginx構成ファイルが/etc/nginx/sites-available/website_nginx.confであるとすると、viまたは任意のエディターを使用してファイルを開きます。

 
  sudo vi /etc/nginx/sites-available/website_nginx.conf

次に、次のパスに2行を追加します。

 
 server {
  listen       portnumber;
  server_name  ip_address;
  location / {
      root   /var/www/mywebsite.com;
      index  index.html index.htm;
      auth_basic "Restricted";                                #For Basic Auth
      auth_basic_user_file /etc/nginx/.htpasswd;  #For Basic Auth
  }
}

ステップ4:Nginxをリロードする

ウェブサイトに変更を反映するには、nginx構成をリロードし、基本認証を使用して保護されているドメインにアクセスしてみてください。

$ sudo /etc/init.d/nginx reload
* Reloading nginx configuration...                       

次に、保護したWebサイトまたはドメインパスにアクセスしようとすると、ログインとパスワードの入力を求めるブラウザプロンプトが表示されます。 .htpasswdファイルの作成時に使用した詳細を入力します。 プロンプトでは、正しいクレデンシャルを入力するまでWebサイトにアクセスできません。

そして出来上がり! Nginxの基本認証を使用してWebサイトのドメインパスを保護します。

モバイルバージョンを終了