マルチテナントnginxの設定

マルチテナントnginxの設定

私はコンテンツ制作者と教育者のためのSaaSプラットフォームを構築することに取り組んでいます。エンドユーザー用にカスタムドメインを設定する必要がある手順に達しました。業界でどのように進行しているかを確認しながら、CNAMEレコードを使用してユーザードメインからサーバーにトラフィックを転送したいと思います。

CNAME www.customuserdomain.com -> customuseralias.mysaas.io

その後、nginxを次のように設定しました。

server {
    listen 80;
    server_name ~^(?<account>.+)\.mysaas\.io$;

    location / {
            proxy_set_header Account $account; 
            proxy_pass http://localhost:5003;
            proxy_http_version 1.1;

    }
}

経由でサーバーに接続するときcustomuseralias.mysaas.io。その後、アプリケーションにいるときにアクセスできます。「アカウント」タイトルそして、どのコンテンツが表示されるかを判断するのに問題はありません。

しかし、サーバーに接続すると、www.customuserdomain.com誤ったゲートウェイエラーが発生します。調査したところによると、この場合、nginxは着信要求をサーバーとして扱い、www.customuserdomain.com正しく処理しないことを知っています。

ワイルドカードサーバーを使用してアプリケーション側で要求を処理する必要がある場合は、この問題をどのように解決できますか?これはセキュリティ上の悪夢のように感じますか?それとも、新しいドメインごとに仮想ホストを作成する自動化ツールの一種はありますか?ただ大声で考えて、助けてください:)

ベストアンサー1

おすすめ記事