• 締切済み

特定のページだけBASIC認証が聞かれないよう設定

本番公開前のサイトで、自宅からのアクセス(IPアドレスによる判別)はBASIC認証が聞かれないよう、サーバ上に以下の.htaccessを作成しています。 ※一部、お見せできない箇所を●●●に置き換えています。 /home/●●●/html/.htaccess ========= AuthUserFile /home/●●●/html/.htpasswd AuthGroupFile /dev/null AuthName "Please enter your ID and password" AuthType Basic require valid-user SetEnvIf Request_URI "(●●●|●●●|●●●|●●●|●●●)" api #SetEnvIf Request_URI "●●●" ●●● order deny,allow allow from ●●●.●●●.●●●.●● allow from env=api deny from all Satisfy any ========= 上記により、 /home/●●●/html/ 以下に外からアクセスした際にBASIC認証が聞かれるようになりました。 次に、特定のディレクトリにだけ外からでもBASIC認証が聞かれないよう設定をするため、該当のディレクトリに、以下の.htaccessを設置致しました。 /home/●●●/html/●●●/.htaccess ========= #Release Satisfy any Order allow,deny Allow from All ========= ここまでは順調に設定が進みました。 特定のページだけBASIC認証が聞かれないように設定したページに、 ブラウザから直接アクセスした際ももちろんBASIC認証が聞かれず、 またそのページをiframeで埋め込んだページにアクセスした際もBASIC認証は聞かれません。 しかし、特定のサイトだけBASIC認証が聞かれないよう設定したページをiframeで埋め込んだページに対して、 HTTPSでアクセスした際にBASIC認証が聞かれてしまいます。 HTTPの際はBASIC認証が聞かれないのですが、HTTPSの際はBASIC認証が聞かれてしまう、 という現象を解決したいと思っております。 原因や解決策などお分かりいただける方いらっしゃいましたら、ご教授いただけますと幸いです。 よろしくお願い致します。

みんなの回答

回答No.1

> HTTPの際はBASIC認証が聞かれないのですが、HTTPSの際はBASIC認証が聞かれてしまう、 HTTPのページとHTTPSのページは 全く同一のHTMLでしょうか? もしかして、HTTPSのページでは、 iframeで呼び出すページだけBASIC認証を外しただけで img srcの画像ファイルや script srcのJavaScriptや link hrefのCSSファイル の呼び出しがあるのに、そっちはBASIC認証を外していない ということはないでしょうか? もしくは、WebサーバーのAlias設定で、cgi-binやiconsのディレクトリが HTTPとHTTPSで異なる場所に設定されていて、かつ HTTPSのほうはBASIC認証の設定になっているとか。 もしくは、(iframeのページ側ではなく)、メイン側のページへのアクセスで allow from ●●●.●●●.●●●.●● Satisfy any でBASIC認証が外れるはずなのに HTTPSのテストでは、それと異なるクライントIPアドレスからアクセスしていたり サーバー機自身のブラウザを使っているなら、HTTPとHTTPSのテストで使う URLが、片方がlocalhostで、片方が自機IPアドレスのようになっていて 上記のallow from ●●●.●●●.●●●.●● にクライアントIPが 合致していないだけとか。 (アクセスURLが localhost(127.0.0.1)なのか、自機IPアドレスなのかの違いで、  FromのIPアドレスも変わりますから)

yama-maron
質問者

お礼

superside0様 早速のご回答をありがとうございます。 以下、回答致します。 >HTTPのページとHTTPSのページは 全く同一のHTMLでしょうか? HTTP、HTTPSともに同じHTML同一のHTMLとなります。 >WebサーバーのAlias設定で、cgi-binやiconsのディレクトリが >HTTPとHTTPSで異なる場所に設定されていて、かつ >HTTPSのほうはBASIC認証の設定になっているとか。 こちらはすぐに設定が分からず、この後確認致します。 サーバ機自体ではなく、クライアントPCからサーバへアクセスしていまして、IPアドレスの制限をしている●●●の部分は、アクセスするクライアントPCのグローバルIPアドレスを設定しています。 他に何か分かる情報がないか、この後確認致します。 どうもありがとうございます。

関連するQ&A