アプリ版:「スタンプのみでお礼する」機能のリリースについて

このような条件下のウェブサイトがあります。

○前提条件
・本番用サーバーは「www.ドメイン名」でSSL証明書を取得
・問い合わせページは「contact.html」
・テスト用サーバーは「test.ドメイン名」を用意
・テスト用サーバーは.htaccessのBASIC認証でアクセスを制限

次に、更新作業を次の手順で進めようと思っています。

1.更新したファイルをテスト用サーバーにアップする
2.ブラウザで「https://www.ドメイン名/contact.html」にアクセスする
3.IDおよびパスワードを入力する
4.内容が更新されていることを確認する
5.更新したファイルを本番用サーバーにアップする

さて、ここで悩んでいるのは、2以降の動作です。

3は出ずに、いきなりページが表示されます。
しかも、ページは更新する前の内容のままです。

SSLを取得したのは、「www.ドメイン名」であり、「test.ドメイン名」ではありません。そのため、HTTPSでアクセスしても、そこに表示されるものはSSLで証明されているものではないのだと思います。
このとき、エラーメッセージ等が出て、ページが表示されないのであれば何となく理解できます。
しかし、上述したとおり、更新する前のページが表示されてしまいます。
IDやパスワードも聞いてきません。

ところが、HTTPSではなく、HTTPでアクセスすると、BASIC認証も表示されるし、内容も更新した後のページが表示されます。

理解したいのは次の点です。

1.https://test.ドメイン名/contact.htmlにアクセスしたときに表示されるページは、一体何なのか?
2.また、BASIC認証が出てこないのはなぜか?

もし、お分かりの方がおいでならば、ご教示くださいませ。

A 回答 (2件)

httpと、httpsの、Document root ディレクトリは、別の物にできます。



というか、通常のhttpは「ポート80番を待ち受けるWebサーバ」、httpsは「ポート433番で待ち受けるWebサーバ」が、それぞれ動いていると考えても良いです。

通常httpアクセスのWebサーバの設定は、httpd.conf に書いてあります。
でも、httpsアクセスのWebサーバの設定は、ssl.conf に書いてあることが多いです。

httpd.conf と ssl.conf の、DocumentRoot 定義が同じならば、

http://test.ドメイン名/contact.html
https://test.ドメイン名/contact.html

この2つは、同一のファイルを開きますが、そうでなかった場合、

前者では
/usr/local/apache/htdocs/contact.html
後者では
/usr/local/apache/ssldocs/contact.html
という、別ディレクトリのファイルを開いている可能性があります。

そちらのフォルダにBASIC認証をかけていなければ、パスワード入力がないのも当然のこととなります。

参考) http://www.ryouto.jp/linux/linux_44.html

もし、レンタルサーバ等で直接 *.conf をいじれるわけではない場合、管理画面などから「SSLドキュメントのルートディレクトリ」といった設定項目があるかもしれません。
    • good
    • 0
この回答へのお礼

詳細にご回答いただき、ありがとうございます。
残念ながら環境が違うためか、DocumentRoot 定義が見つけられませんでした。
ただ、「httpと、httpsの、Document root ディレクトリは、別の物にできます」というのは、直面した現象を説明するには
もっとも筋が通っていると感じました。

お礼日時:2013/10/26 01:01

確認する都度ブラウザのキャッシュ消してみたらどうですか。




>2.ブラウザで「https://www.ドメイン名/contact.html」にアクセスする

https://test.ドメイン名/contact.html」
の書き間違いですか?

この回答への補足

ご指摘いただき、ありがとうございます。
確かに「https://test.ドメイン名/contact.html」の書き間違いでした。

なお、キャッシュについては明記しませんでしたが、何度もクリアしています。

補足日時:2013/09/26 16:51
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!