赤の意味
このチュートリアルでは、ユーザーが入力またはカスタマイズする必要のある行は赤になります。 残りはほとんどコピーアンドパスタブルである必要があります。
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サイトのドメインパスを保護します。