読者です 読者をやめる 読者になる 読者になる

好奇心 x 探求心 = やじうまゴコロ

だって気になるんだから仕方ないじゃない!?

Basic認証が効かないって!?そりゃあんた設定ができてないからだよ

f:id:drpoteco:20160614232824j:plain WEBサイトを作っているとローカル環境で構築できれば特に問題ないのですが、いきなりグローバルな環境に作ることになった場合、作成中の画面は見せたくないですよね。
そんな時、簡単にアクセス制限をかけるのに有効なのがBasic認証です。

今日は初めてWEBサイトを作っている新人のカシミール(仮)が出くわした問題の話です。

かなり慌ててます

今日はいつも以上にカシミール(仮)が慌ててる。
こっちは慣れっこなんで、そんなことくらいじゃ声をかけない。
かけてやらない。
ちょっと離れた席から眺めるだけだ。

しばらくするとアレコレやっていたカシミール(仮)がトボトボと相談に来た。
話を聞くと、どうやら彼が開発中のWEBサイトがBasic認証をかけられずに全世界に公開されているらしい(笑)
地球上のどこからでもインターネットの回線さえあればアクセスできる状況だ。

まずは「.htaccess」の書き方が正しいのか見直しをさせた。
彼の答えは「大丈夫です」だった。
「本当か!?違っていたらkrsz・・・!!」とちょっとかわいがる。

怪しいところはココ

ファイルをみてみたが問題はなさそうだった。
カシミール(仮)に指示したことは以下になる。

.htaccessを疑え

1 ファイル名はあってるか?
「t」が多いとか「c」が少ないとか単純なミスの可能性があるから一先ずファイル名をコピペでリネームしなさい。

2 そもそも書き方はあってるか?
最低限下記が書いてあればOK

AuthUserFile /var/www/html/.htpasswd
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user
※AuthUserFileは自分の環境にあわせること!!

3 ファイル名に全角文字が混ざってないか?
ありがちですが、1文字だけ全角文字が混ざっているとかないか?
ファイル名だけでなく、ファイルの中に書かれているパスに全角文字が混ざっていたら当然ダメ。

.htpasswdは関係ない

Basic認証が効く、効かないという問題に関して言えばこのファイルは関係なし。
正しくパスワードを入力しているのにページにアクセスできないとかなら疑う必要がある。

httpd.confだろ?

まだ解決できないなら原因は恐らくここ。
WEBサーバとしてApache使っているなら、かなり怪しい。
httpd.conf内に「.htaccess」を使用する許可をしてあげないといけない。

「None」を「All」に変更することで「.htaccess」が利用可能となる。

# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
# AllowOverride None
AllowOverride All

結局、「httpd.conf」の設定がダメだったと報告を受けた。
これでせっかく、全世界デビューしたカシミール(仮)の開発中だったWEBサイトはID、パスワードを入力しないと見る事ができない何ともつまらない状態になりました。

今回はカシミール(仮)をかなり助けてしまいました。
コレくらいはGoogle先生にでも聞いて自己解決してもらわないとね。

Copyright© 好奇心 x 探求心 = やじうまゴコロ All Rights Reserved.