Symfoware

Symfowareについての考察blog

Debian 8 + NginxでBasic認証の設定

Debian 8にNginxをインストール。
Basic認証でサイトにパスワードを設定してみようと思います。


nginx-extrasのインストール



後々、他の認証方法も試してみたいので、nginx-extrasをインストールしました。
Luaモジュールなども合わせてビルドしているバージョンです。
パッケージ: nginx-extras (1.6.2-5+deb8u2 など)

Basic認証するだけなら、apt-get install nginxで問題ないと思います。
パッケージ: nginx-light (1.6.2-5+deb8u2 など)



# apt-get install nginx-extras



インストールできました。

719_01.png




Basic認証



こちらを参考にさせていただきました。
nginxでベーシック(Basic)認証を設定する方法

.htpasswdファイルを作るためだけにapache2-utilsインストールするのはちょっと...
と思ったので、適当なジェネレーターで作成することにしました。

htpasswdジェネレータ

アルゴリズムはMD5を選択しています。
ちなみに負荷逆なハッシュなので、生成される文字列は毎回異なります。

719_02.png


.htpasswdファイルを作成。


# vi /etc/nginx/.htpasswd




ジェネレーターで生成した文字列を記載します。


symfo:$apr1$po.J0lTi$WMnr7BBMtAPt3ZV2T2WHW0





次に、ngixの設定ファイルを編集します。


# vi /etc/nginx/sites-available/default





今回は全体に認証をかけてみようと思います。
locationの項目に移動。


        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ =404;
        }




こんな感じで、
auth_basicに名称。
auth_basic_user_fileに作成したパスワードファイルのパスを指定します。


        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ =404;
                auth_basic "Basic Authentication Test";
                auth_basic_user_file /etc/nginx/.htpasswd;
        }




記載が終わったら、nginxを再起動します。


# service nginx restart




再度ページを表示しようとしたら、ユーザーIDとパスワードの入力を求められました。

719_03.png


ジェネレーターに入力したIDとパスワードを入力すればページが認証を通過できます。


719_04.png


auth_basicで指定した文字列は、Google Chromeでは表示されませんでしたが、
Firefoxだとダイアログに表示されました。

719_05.png





ユーザーの追加



ユーザーを追加したい場合は、.htpasswdファイルに追記すればOKです。


symfo:$apr1$po.J0lTi$WMnr7BBMtAPt3ZV2T2WHW0
symfo2:$apr1$hjlAeIUs$c/jtYIYwLsKC0TFTCt..T.




これでsymfo2というユーザーが追加できました。

関連記事

テーマ:サーバ - ジャンル:コンピュータ

  1. 2016/10/12(水) 22:59:35|
  2. 備忘録
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
前のページ 次のページ