
Apache Web サーバーに特別な設定を行い、ユーザーの IP アドレスに応じてサイトを表示したいと考えています。
当社では、Web サイトのアップグレードを計画しています。アップグレード中はメンテナンス サイトを設置し、Web サイトに接続するすべてのユーザーがこのサイトを利用できるようになります。
アップグレードの影響を受ける Web サイトは 200 個あるため、それぞれの Apache 設定を変更したくありません。
アップグレードをテストするには、要求されたサイトへのアクセスを自分の IP アドレスのみに許可するように Apache を設定する必要があります。自分の IP アドレスが abcd で、test.com を要求した場合、そのサイトが表示されます。ただし、異なる IP アドレスを持つ他のすべてのユーザーは、test.com を検索しても、メンテナンス サイトを取得する必要があります。
当社の Web サーバーはオフィス外でホストされています (ovh.com france)。テスターは当社オフィスの開発者と私です。いくつかのサイトをテスト用に有効にし、各 Web サイトに IP 制限を実装します。これらの Web サイトでは、訪問者の IP アドレスが当社のオフィス IP アドレスと異なる場合は、この訪問者をメンテナンス Web サイトにリダイレクトし、そうでない場合は Web サイトを表示します。
これを実行する方法はありますか?
ありがとう。
答え1
おそらくあなたはテスト用新しいバージョンのサイト用に別の vhost を使用し、異なる ServerName ディレクティブ (例: testing.yourdomain.com) を使用すると、IP アドレスを巧妙に扱うよりも柔軟性が高まります。その後、ライブにする準備ができたら、ServerName をライブ サーバー名に変更するだけです。
ただし、異なる IP アドレスに対して異なるコンテンツを提供できることは、特に異なる訪問者に対して異なるバージョンのサイトのパフォーマンスをテストする場合や、IP アドレスから取得した位置情報に基づいてコンテンツを提供する場合に便利です。
それが目的であれば、私の回答は無視してかまいません。ただし、テスト サイトが完了するまで、少数の人にのみテスト サイトへのアクセスを許可する必要がある場合は、できる限りシンプルにしてください。
答え2
サーバーはどこにありますか? サーバーがテスターと同じ場所 (ネットワーク上) にあり、ローカル IP アドレスとパブリック IP アドレスを持っている場合は、テスターと同じ範囲のローカル IP アドレスでサーバーをリッスンし、ローカル DNS を使用してライブ サイトをこの IP アドレスに解決することができます。
このためには vhosts を編集する必要がありますが、率直に言って、提供された情報を考慮すると、それを回避する方法はないと思います。
答え3
現在のコンテンツを提供する別のマシン (仮想?) を設定し、すべての新しいトラフィックをそのマシンに向けます。次に、他のサーバーを新しいコンテンツでアップグレードします。新しいコンテンツに満足したら、すべてのトラフィックをメイン サーバーに戻します。これにより、メンテナンス ページが不要になるという利点もあります。