
AWS アカウントで Web サービス (php、sql など) を実行しています。OpenVPN をセットアップしているので、ユーザーは VPN 接続を確立する必要があり、その後 IP アドレスが機能します。
私は現在これをexample123.noip.comとして設定しており、172.xxx.xxx.123に接続しています。
そしてこれは機能します。
私のサービスは順調に進んでおり、他の企業にも提供できるようにしたいと考えていますが、複数の企業を同じ AWS インスタンスでホストできるようにし、各企業にシームレスなエクスペリエンスを提供したいと考えています。そのため、たとえば、より多くの noip アドレスを設定できると考えています: clientcompany1.noip.com -> 172.xxx.xxx.123 clientcompany2.noip.com -> 172.xxx.xxx.123 clientcompany3.noip.com -> 172.xxx.xxx.123
そこで、Company3 の X 氏が clientcompany3.noip.com にアクセスすると、Company 3 としてブランド化された自分のサービス ページが表示されます... (他の企業がその AWS アカウントでホストされていることはわかりません)
(ある時点で別の AWS インスタンスを追加する必要が生じる可能性があり、その場合は clientcompany3.noip.com -> 172.xxx.xxx に切り替えるだけです。新しい住所 456)
しかし、AWS 内でこれを検出またはルーティングする最善の方法は何でしょうか? PHP を使用して HTTP ヘッダーからリダイレクト検出を行うだけでよいのでしょうか? openVPN を使用してトラフィックをルーティングする賢い方法はありますか?
答え1
わかりました。最善の方法は、ドメインを Cloudflare 経由でルーティングすることだと思います。
次に、サブドメインを A レコードとして定義し、各サービスのプライベート IP またはパブリック IP アドレスにルーティングします (一部のユーザーは、AWS ファイアウォール ルールで許可できる静的 IP アドレスを持っている可能性があるため、これらはパブリック IP アドレスにルーティングされます)。一方、残りのユーザーは VPN をアクティブ化して、VPN プライベート アドレスにルーティングする必要があります。
私の PHP ヘッダーは SERVER['HTTP_HOST'] をチェックし、たとえば「clinicABC.example.com」を検出して ABC Clinic のブランドを表示します。