お客さんのサイトでちょっと嵌ったのでメモ。
お名前.com のレンタルサーバーは管理画面からアクセス制限(ベーシック認証)を簡単にかけることができるので(まぁ他のレンサバでもできるところ多いですけどね)、お客さんの新規サイトを本番環境にアップしつつ公開まではベーシック認証をかけてそこでチェックしてもらっていました。
しかし、ある日突然認証ダイアログが表示されなくなり、ブラウザ再起動したり他のブラウザでためしたりシークレットモードをつかってもダメで「これはまずい」という状況に…。
その時点で試したのは、
- ブラウザのキャッシュとかもろもろ消してみた
- 別のブラウザで試してみた
- シークレットモードにしてみた
- 案件に関わってない、他の人のPCから見てらった
しかしどれを試してもダイアログは出てこない…。
これは設定が壊れたか飛んだかしたか?と思い次にやったのが
- ID、パスワードを別のものにした
- 新しい欄に追加してみたりもした
- 管理画面のアクセス制限設定を全部クリアして再設定してみた
しかし結果はやっぱりダメ。
本気で???って感じになったので、素直に聞くことにしました。
問い合わせてみた
このままじゃ流石にマズイということで、サポートに電話してみましたところ、
「自分で .htaccess と .htpasswd をアップロードしてる場合、管理画面からの設定が効かなくなるので、それを削除するか、または管理画面からの設定をやめてこれらのファイルだけでアクセス制限をかけるようにすれば大丈夫」
とのことでした。
そういえば本番サーバーを用意してもらう前に会社で契約してるクライアント確認用のサーバーで認証かけてチェックしてたなぁというのを思い出し、FTPでログインしてみたところ…
いましたね…。どうやらこれが原因だった模様。
現状 .htaccess は認証の設定にしか使用していなかったため、これらを削除した所問題なく認証ダイアログが出るようになりました。
と、いうことで今回は解決したのですが、
しかしそうなると、いままでこいつらが居たのにもかかわらず普通にアクセス制限が効いていたのはなんだったんだろうなぁ。
偶然だったんでしょうか…?
管理画面から設定した時も、 .htpasswd を使っていた時も同じID、パスワードだったのでどちらの設定が効いてて認証がされていたのかはわからないですが…。
まとめ
アクセス制限などの設定を行う時は、複数の選択肢がある場合は複数の場所で設定してしまわないように気をつける(特に作業者が複数いる場合はお互いに設定してしまう可能性があるので注意)
管理画面から設定するときめたら、必ず管理画面からだけ設定を行うようにして、手動でファイルを設置したりしない
書いてみると当たり前のことなんですけど、意外と見落としがちなのかもしれません。
それにしても今回もひどいオチだ…
コメントする