DIGITAL COFFEE-デジタルコーヒー

コーヒー飲みたい系SE(システムエンジニア)による、どうでもいいことを呟くどうでもいいブログ

nginxでBasic認証を設定する

どーも、PlugOutです。

なんかここにプログラミング系の話を書くのは違う気もしないでもなくなってきましたが、一応メモがてら書きます。

※この記事はLinux向けに書いています、違うOS及びAttributionの場合は適度に読み替えて下さい。

 

 

今回は良く忘れるので「nginxでBasic認証設定方法」について書きます。

nginxというのは「フリーで提供されているオープンソースのWebサーバー」です。

 

f:id:PlugOut:20170115121446p:plain

https://nginx.org/en/

 

Webサーバーといえば世界中で「Apache HTTP Server」が多く使われていますが、nginxはより多くのリクエストを捌けかつ、いろいろなカスタム設定が可能という事で数年前あたりから注目を集めてきました。

あと、リバースプロキシ周りが簡単に書けたりするので楽なんですよね(笑)

 

そんでもって「Basic認証」とは、ブラウザであるページを開いた際にポップアップでユーザーとパスワードを聞かれる「アレ」のことです。

Basic認証 - Wikipedia

ネットにファイルは置くけれども、ユーザーとパスワードを知っている人だけが見れるようにしたいという場合に、簡単に設定できるのがウリです。

 

では、設定方法なんですが

まず「htpassword」を使用できるように「httpd-tools」をインストールします。

Cent OSの場合:

yum install -y httpd-tools

Ubuntsuの場合:

apt-get install apache2-utils<\pre>

その後、以下のコマンドを実行し、認証ファイルを生成(もしくは更新)します。

htpasswd -c (認証ファイルを置くパス) (ユーザー名)

(認証ファイルを置くパス)には、今回の場合はnginxの格納先ディレクトリを絡めて「/etc/nginx/.htaccess」にしておくと良いと思います。

(手動でnginxをコンパイルした場合には/usr/local/nginx/.htaccessになるかと)

(ユーザー名)にはお好きなユーザー名を!

するとパスワードを聞かれるので、ここでパスワードを設定します。

New password:
Re-type new password:

次に、「nginx.conf」を開き、locationのディレクティブに以下のように記述を追加します。

location / { 
  auth_basic "Restricted"; 
  auth_basic_user_file (.htpasswdのパス); 
}

最後にnginxの再起動を行って完了です。

お疲れ様でした。

 

※ エンジニア系のネタは下のブログに移行中です。

plugout.hateblo.jp

 

連絡先: plugout777★yahoo.co.jp (クローラー対策のため★を@に変更してください)