it-swarm-ja.com

それぞれにVirtualHostを追加しなくても、新しいドメインを追加できるようにNginxを構成することはできますか?

SaaSアプリケーションがあり、ユーザーはドメイン名を入力できます。アプリケーションは、受信リクエストのホスト名を使用して、アカウントに入力したドメインに基づいてアカウントを決定し、設定、テーマ、等.

ユーザーが追加した新しいドメインごとに新しいNginxホストを追加する必要はありません。これにより、すべてのユーザーがwwwCNAMEを自分の静的サブドメインにポイントするというソリューションにつながります。サーバー(例:all-websites.[my domain].com)、各ルートリクエストをそれぞれのwwwバージョンにリダイレクトします(例:example.comwww.example.comにリダイレクトします)。

前述のソリューションは機能しますか?機能する場合、欠点はありますか?そうでない場合は、ユーザーがサインアップするたびにNginx構成を更新する必要がないより良いソリューションを知っていますか(私も望んでいません)設定を編集するスクリプトを用意してください)。

3
orokusaki

server ディレクティブを使用して、デフォルトとして使用するlistenセクションをマークし、一致するものがない場合にnginxがそれを使用するようにします server_names 。常にアプリケーションにプロキシしているようで、そのアプリケーションはさまざまなホストの処理方法を知っていますが、必要に応じて $Host nginx構成の変数。

listen 80 default_server;
2
mgorven