DNS を直接指すか、リバース プロキシを指すか
公開: 2023-01-18新しい Web サイトを立ち上げるとき、DNS を Web ホストに直接向けるか、リバース プロキシを使用するのが最適ですか?
これは、新しいサイトが公開されるまでの時間、複数のホスト上のサイトとアプリケーションに同じ URL が使用されているかどうか、会社の IT 部門の要件など、複数の要因によって異なります。
目次
- DNS を直接指定する場合とリバース プロキシを使用する場合の比較
- サイト移行のために DNS を指定する準備をしています
- 次のステップ
しかし、まずは基本から始めましょう。
DNS を直接指定する場合とリバース プロキシを使用する場合の比較
DNS を直接指定する方法とリバース プロキシを使用する方法の両方でトラフィックを Web サイトにルーティングできますが、それぞれのオプションには理想的なユース ケースがあります。
DNSとは?
DNS ドメインネームシステムの略です。 各 Web サイトには 2 つのアドレスがあります。
- ユーザーが使用するテキスト アドレス (例: example.com)
- Web ブラウザとネットワークが認識する数値アドレス (例: 123.4.56.78)
DNS は、これら 2 つのアドレスを結び付けます。 誰かがブラウザに「example.com」と入力すると、ブラウザは送信先の数値の場所を認識します。(インターネットの初期のように) 数字の文字列を介して Web サイトに接続する必要はありません。
DNS はすべての Web サイトのトラフィックを転送しますが、DNS と Web 訪問者の間にリバース プロキシ レイヤーが存在する場合があります。
リバース プロキシとは何ですか?
リバース プロキシは、Web トラフィックの仲介「ホール モニター」として機能します。 これは、サイトをホストする Web サーバーの前にあるサーバーです。 DNS を Web ホストに直接向けるのではなく、プロキシ サービスに向けて、Web サイトの訪問者を Web ホストに誘導します。
DNS を直接指定する必要がありますか、それともリバース プロキシを使用する必要がありますか?
リバース プロキシは、DNS よりも複雑なルーティングを処理できます。 たとえば、example.com からの訪問者を特定の Web ホストのサイトに移動させ、example.com/blog (サブディレクトリ) の訪問者を別のホストのサイトに移動させたい場合は、リバース プロキシが必要です。
注: サブドメイン (例: subsite.example.com) は、直接指定された DNS で処理できます。
リバース プロキシは、ほとんどの Web ホストが提供する以上のセキュリティ、パフォーマンス、および安定性の向上を提供できますが、DNS を直接指定するよりも設定が複雑です。 この表は、Web サイトに最適なオプションについて会社の IT チームと話し合う際に役立つ高レベルの比較です。
次の場合は DNS を直接指定します… | 次の場合はリバース プロキシを使用します。 |
すべてのコンテンツを 1 つの Web ホストでホストしているか、ルート ドメイン (example.com) またはサブドメイン (subdomain.example.com) のみを使用している。 | メインの Web サイトはある Web ホストにあり、ブログは別の Web ホストにあり、ブログはメインの Web サイト URL のサブディレクトリです (例: example.com/blog)。 |
サイトを迅速に移行する必要があり、起動前にプロキシ設定を構成してテストする時間やリソースがありません。 | プロキシ設定をテストして起動する時間は十分にあります。 |
非常に安全でスケーラブルでパフォーマンスの高いホスト (WordPress VIP など) に移行するため、セキュリティやパフォーマンスに関する特定の懸念はありません。 | Web ホストは、十分なセキュリティ、パフォーマンス、またはスケーラビリティを提供していません。 |
Web サイトの URL へのトラフィックはすべて同じ場所に向かいます。 | あなたのサイトとモバイル アプリはどちらも同じ URL を使用しており、それに応じてトラフィックを誘導する何かが必要です。 |
ホストには CDN が組み込まれています (WordPress VIP など)。 | コンテンツ配信ネットワーク (CDN) を使用したいが、現在の Web ホストは組み込みの CDN を提供していません。 |
サイト移行のために DNS を指定する準備をしています
Web サイトを新しいホストに移行する場合、立ち上げ計画の一部には、DNS またはリバース プロキシを新しいホストに向けることが含まれます。 ほとんどの場合、DNS を指定する方がプロキシを指定するよりも簡単ですが、プロキシを指定するには追加の手順が必要です。
注: Web サイトの移行プロセスの早い段階でシステム管理者と緊密に連携して、ドメインが新しいホストを参照するための正確な要件を決定してください。 リリース日近くに戻って、DNS またはプロキシが正しい時間にポイントされるようにリソースが調整されていることを確認してください。
DNS を直接指定している場合は、起動前に次の 2 つの点に注意してください。
これまで、ほとんどの DNS は「A レコード」を使用してポイントしていました。A はアドレスを表します。 A レコードを使用している場合は、新しいサイトの IP アドレスをできるだけ早く調べて、システム管理者が立ち上げの日に備えられるようにします。
DNS レジストラーによっては、ALIAS、ANAME、CNAME など、DNS を指すための A レコード以外のオプションがある場合があります。 これらのタイプのレコードは、IP アドレスではなく、ウェブ ホストが所有するテキスト URL を指します。 Web ホストの IP アドレスは時間の経過とともに変化する可能性があるため、これは多くの場合、A レコードよりも DNS を指すより優れた永続的な方法です。
サイト移行のためにリバース プロキシを指定する準備をしています
リバース プロキシは「単一障害点」の 1 つである傾向があり、スムーズなローンチを困難なローンチに変える可能性があるため、十分なテスト時間を構築してください (理想的には、ローンチの数週間前)。
リバース プロキシにはどのような構成が必要ですか?
リリース前に、開発チームとシステム管理者はいくつかの設定を行う必要があります。 サイトとプロキシの独自の設定に応じて、構成手順には次のものが含まれる場合があります。
- リバース プロキシがトラフィックを送信するオリジンを設定します (ユーザーがサイトに確実にアクセスできるようにします)。 これは通常、Web ホスティング会社のみに表示されるテキストベースのリンクです。
- Host HTTP、True-Client-IP HTTP、および X-Proxy-Verification の Web ホストからの要求に応じて、要求ヘッダーを設定します。
- ドメインの .well-known/acme-challenge/* ルートを転送するか、ドメインのカスタム TLS 証明書をインストールします。
- Web ホストのサポート技術者のサイトへのアクセスを許可します。
- 公開 URL の DNS を設定します。
- チームと Web ホストのリバース プロキシの詳細を文書化します。
WordPress VIP のリバース プロキシ構成の詳細をご覧ください。
リバース プロキシをテストする方法
Web サイトを起動する前に、プロキシ構成を十分にテストして、トラフィックが新しいサイトに正常に到達することを確認します。 これは通常、テスト URL と Web ホスト上の非運用環境で行われます。
cURL コマンドを実行する
プロキシ構成の問題を診断するためにトラフィックの宛先に関する詳細が必要な場合は、cURL コマンド (URL のクライアント) を実行します。 これは、ターミナル (Mac)、Windows コマンド プロンプト (PC)、またはコマンド ライン (Linux) で実行できます。
コマンドは次のようになります。
curl -I https://example.com/blog/
そのコマンドへの応答には、ホストから送信されたヘッダーと、プロキシ サーバーから送信されたヘッダーが含まれている必要があります。
ホストファイルを更新する
別のテスト方法には、hosts ファイルの更新が含まれます。 ホスト ファイルは、IP アドレスと URL を一覧表示するコンピューター上のテキスト ファイルです。
ホスト ファイルを更新して、DNS が指している場所以外の Web サイトを参照するようにコンピューターに指示します。 ホスト ファイルをサイトの URL と Web ホストの IP アドレスで更新することにより、リバース プロキシがバイパスされたときにサイトが期待どおりに表示されるかどうかを判断できます。 そうである場合、問題は Web ホストのレベルではなく、プロキシ レベルにあります。
次のステップ
最終的には、Web サイトの独自のニーズによって、サイトの立ち上げ時にトラフィックを誘導する最善の方法が決まります。 構成要件とテスト時間を効果的に計画できるように、Web サイト開発プロセスの早い段階でシステム管理者とこれらの会話を開始してください。
WordPress VIP に移行する場合は、テクニカル アカウント マネージャーに推奨事項を確認してください。
DNS とリバース プロキシの詳細については、WordPress VIP の豊富なドキュメント ライブラリをご覧ください。