
外部からサブドメイン経由で内部 IP を持つアプリケーションにアクセスしようとしています。
私の調査によると、Apache で http を実行する場合、内部に DNS サーバーがあれば実現可能と思われます。
しかし、Apache を使用せずに Web サイト以外のアプリケーションを実行する場合はどうなるでしょうか?
私がやろうとしているのは
abc.mydomain.comでポート8000が要求された場合、192.168.0.1:8000を指します。
def.mydomain.com でポート 8000 が要求された場合、192.168.0.2:8000 を指します。
これまでは内部アドレスの代わりにパブリック IP アドレスを使用しており、問題なく動作していましたが、現在はパブリック IP アドレスを使用する余裕がないため、解決策を探しています。ありがとうございます!
答え1
名前を IP アドレスに解決するという DNS の一般的な使用例は、IP アドレスが同じ場合には役に立ちません。異なる A レコードは同じ IP アドレスに解決され、IP 層の観点からは同じ宛先を持ちます。
名前ベースの仮想ホスティングを行うには、アプリケーション対応のロード バランサーを使用します。引用したリンクのように、Apache httpd は http Hosts ヘッダーを使用します。レイヤー 7 でリクエストを区別します。
最終的な解決策は IPv6 です。サブネットごとに /64、ホストごとにパブリック IP が割り当てられ、IP ごとの価格設定が廃止されます。