NginxでBasic認証をかけてみた
htpasswdの設定
NginxでローカルのApacheに飛ばしてます.
とりあえずApacheさんの方でBasic認証かけてみようってことで記述したら動いたんだけど認証されなかった!
headerの記述やパーミッションなどあれやこれややったけどだめだったorz
そんでNginx側でかけちゃえと思ってNginx側で設定します.
その時のメモ!
.htpasswdの作成
まず「.htpasswd」を作らないといけないので Apacheが入ってれば
# htpasswd -c /etc/nginx/.htpasswd hoge New password: Re-type new password: Adding password for user hoge
でPasswordきかれて登録できる.
Nginxしか入ってないときは
# echo "hoge:`openssl passwd -apr1 YourPassword`" > /etc/nginx/.htpasswd
で作れるはずです.
出力先パスに確認しにいってください.
できていたらcat か lessで自分が作ったユーザーが作成されているのを確認してください.
※この時の注意してほしいこと!
* 空白文字は使えない
* #(シャープ)は使えない
* :(コロン)は使えない
ちなみに僕はこれではまりました.うほ.
confの設定
Nginxの場合(reverse)
server { listen hoge.huga.piyo.com:80; root /var/www/html; ・・・ location / { auth_basic "Do you have permission?"; auth_basic_user_file /etc/nginx/.htpasswd; proxy_pass http://address:port; } ・・・ }
これでいいはず!
ちなみにApacheの場合
<Directory "/var/www/hoge"> AuthType Basic AuthName "hoge Zone" AuthUserFile /etc/apache2/.htpasswd Require valid-user </Directory>
みたいな感じで後は自分がつけたい設定をするだけー
P.S.
シャープ使えたら嬉しかった