こんにちは。CBtz(シビッツ)です。
今回は、WebサイトにBasic認証を設定したのにダイヤログが表示されなかったり、
ログインできなかったりしたときにチェックしたいポイントをまとめてみました。
Basic認証が動かないときの3つのチェックポイント
1. .htaccessファイルの記述内容、設置先ディレクトリに誤りがないか
2. 設定したパスワードが暗号化されているか
3. Basic認証を利用する環境に問題がないか
.htaccessファイルの記述内容、設置先ディレクトリに誤りがないか
・Basic認証をかけたいディレクトリ内に.htaccessファイルが設置されているかを確認する。
設置したディレクトリ配下にある全てのデータがBasic認証の対象範囲となります。
またそれより下の階層にも.htaccessがある場合は、下層の.htaccess設定が優先されます。
・.htaccessファイルで指定した「.htpasswdのフルパス」が間違っていないかを確認する。
AuthType Basic
AuthName "test-auth"
AuthUserFile /var/www/vhosts/example.com/httpdocs/.htpasswd
require valid-user
設定したパスワードが暗号化されているか
・.htpasswdで指定したパスワードが暗号化されていないことで、認証時にパスワードが通らないことがあります。セキュリティ面でも平文でなく、暗号化したパスワードで設定ください。
・パスワードの暗号化には、主に「DES」「MD5」の2つの方式があります。
「DES」の場合は、先頭8文字までしかパスワードとして利用できないため、設定時は注意しましょう。
Basic認証を利用する環境に問題がないか
・WebサーバーがApacheではなく、nginxを利用している場合は「.htaccess」でBasic認証をかけることができません。Webサーバーのソフトウェアを確認してみましょう。
・セキュリティソフトでBasic認証がブロックされることがあります。セキュリティソフトのログなどを確認し、必要に応じて設定を変更する必要があります。
・Basic認証の設定を見直したのにまだうまく動作しない場合は、ブラウザにてキャッシュを保持していることがあります。ブラウザのキャッシュを削除するか、別のブラウザでも試してみてください。
まとめ
今回は「Basic認証が動かないときの3つのチェックポイント」をご紹介しました。
原因が分からず、沼にハマってしまった際はまずこの3つのポイントをチェックしてみてください。ひとつひとつ見直していくことで問題解決に近づいていきましょう!