Chrome / Firefox (Apache サーバー) 上のサイトで 302 リダイレクトが発生する理由を理解する

Chrome / Firefox (Apache サーバー) 上のサイトで 302 リダイレクトが発生する理由を理解する

サイトは実稼働環境で実行されており、オンライン ステージング環境に移動して操作している間も、実稼働環境で維持する必要があります。

すべてのファイルを移動し、ホスト ファイルを次のようにステージング サーバーにポイントしました: 123.123.123.12 example.org。ステージング サーバーの IP は次のとおりです: 123.123.123.12

訪問するhttp://example.orgすぐににリダイレクトされますhttps://example.orgが、SSL 証明書は実稼働環境を使用して作成されているため、さまざまな問題が発生します。そのため、接続が安全ではないことが通知されます。

私はこれでかなり遊んでみました。今はリダイレクト ループに入っていて、http://https://-version の間を行ったり来たりしています。

302リダイレクトを見つける

リクエストは次のように「移動する」と想定します。

                            (step 1)   (step 2)  (step 3)
Visit http://example.org -> Browser -> Apache -> Browser -> Result (https://example.org)

したがって、ステップ 1、2、または 3 のいずれかのどこかでこのリダイレクトが行われます。

大きな包括的な質問:この 302 リダイレクトがどこから来ているのかを調べて、それを無効にし、 経由で自分のサイトにアクセスするにはどうすればよいでしょうかHTTP://?


試行1 - ブラウザがそれを実行していないことを確認する

最初に試したのは:

  • 開発者ツールを開いた状態で (ネットワーク タブ -> キャッシュを無効にするにチェックを入れます)。
  • シークレットブラウザから
  • キャッシュされたデータや Cookie などをすべて消去し、ブラウザを再起動します。
  • 別のブラウザから試してください。

ChromeとFirefoxはどちらも本当にプッシュしますhttps。そこで私は「httpsの強制」を無効にする方法をGoogleで検索しました。簡潔なバージョンそして詳細版いずれも何も変更しませんでした (まだリダイレクトされます)。

試行2 - VirtualMinで自動リダイレクトを無効にする

ここでこれが起こります:

「システム設定」 -> 「Virtualmin 構成」 -> 「SSL 設定」 -> 「デフォルトで HTTP を HTTPS にリダイレクトする」のチェックを外す

ソース

奇妙なことに、この後リダイレクト ループが始まりました。

.confそして、これはサーバー上のすべてのドメインのファイルにいくつかの行を追加するだけだと思います。

試行3 -.htaccessファイルがポート80からのトラフィックをキャッチすることを確認する

次の行を追加しました:

RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

...ここで見つかりました

同じこと。

試行4 - Apacheセットアップに追加のログを追加する

リダイレクト元に関する情報が見られるかもしれないと思った。 をいじってログを追加してみた/etc/apache2/sites-enabled/example.org.confが、何も得られなかった。この郵便受けただし、これは古くなっています (賛成のコメントを参照してください)。


さらに詳しい情報

  • サーバーテクノロジー: ウェブミンそしてバーチャルミン自分で設定した VPS 上で実行しています。サーバー上では他のサイトもいくつか実行され、動作しています。

関連情報