サブドメインのみでサーバーを設定すると、トップレベルへの接続はすべて別の IP 上のメインサーバーに送られますか?

サブドメインのみでサーバーを設定すると、トップレベルへの接続はすべて別の IP 上のメインサーバーに送られますか?

私は、ユーザーがログインしてアプリケーションを使用するための独自のサブドメインを持つ Web アプリケーションを開発しています。メイン Web サイトでは、パブリック / フロントエンドを管理するために wordpress を実行しています。アプリケーションは zend フレームワークで開発されています。zf プロジェクトは現在、メイン サーバーのサブフォルダーにあります。

Zend Framework プロジェクトを別のサーバー (異なる IP) に配置し、WordPress フロントエンドの www.domain.com サイトとは別にしておきたいと思います。

zf アプリケーション サーバーは nginx を実行します。厳密にサブドメインを実行するようにサーバーを設定する方法がわかりません。構成ファイルで仮想ホストを設定することは問題ありません。ユーザーに username.domain.com を与えます。しかし、メインのデフォルト構成ファイルはどうでしょうか? トップ レベル ドメインは技術的には別の IP 上の別のサーバー (wordpress) であるため、どのように構成するのでしょうか?

答え1

メイン ドメインをサブドメイン サーバー上の nginx vhost として設定せず、DNS を古いサーバーにポイントしたままにします。

次に、サブドメインの仮想ホストを設定し(またはアプリケーションに応じてすべてのサブドメインをキャッチし)、サブドメインサーバーでDNSを指定します。

したがって、DNS は次のようになると思います。

example.com A 123.456.789.123 www.example.com A 123.456.789.123 sub.example.com A 123.456.789.124 sub2.example.com A 123.456.789.124 など...

とても簡単です。メインのデフォルト設定ファイルを編集する必要はありません。実際、必要に応じて削除できます (ただし、そのままにして、サーバー名を localhost に設定し、デフォルトとして設定することをお勧めします。そうすれば、リッスンされていないサブドメインはデフォルト ページを取得できます :)

答え2

あなたの問題を正しく理解していれば、ユーザー ベースが少数であれば、DNS 経由で実行できます。それでも、ユーザーごとに DNS を変更するのは面倒で、伝播に時間がかかります。ユーザー ベースが非常に大きい場合は、domain.com/ 形式を選択し、PHP スクリプトを使用して、それに応じてリクエストをリモート IP にリダイレクトできます。

関連情報