私のユースケースでは、メインドメインのIPアドレスを使用して、ポート番号が異なるサブドメインを作成したいと思います。例えば:
abc.com
を指す192.168.1.1
としてメインドメインがあります
@ 192.168.1.1
以下のようにポート8081のサブドメインを作成したいと思います。
api.abc.com 192.168.1.1:8081
しかし、それは不可能のようです。そこで、次の情報を使用してSRVレコードを作成しようとしました。
Name: api
Target: api.abc.com
Protocol: _http
Service: _http
Priority: 5
Weight: 5
Port: 8081
TTL: 1 hour
しかし、これは役に立ちませんでした。これを達成する方法はありますか?ドメインの管理にGodaddyを使用しています。
誰かがこれを手伝ってくれませんか?
ドメイン名または静的に定義されたホスト名にポート番号を割り当てることはできません。
ホスト名は IPアドレス に変換され、 ポート番号 はIPアドレスに追加される個別の番号です。
DNS サービスレコード(SRV) を使用すると、サービスの場所をIPアドレスとポート番号を含めて定義できますが、これには、DNSにSRVレコードを照会する特定のアプリケーションが必要です( RFC2782 はそれらを「SRV認識クライアント」と呼びます)。
HTTPプロトコルに接続するブラウザは、常にポート番号80に接続します(ポートがクライアント側で指定されている場合を除くhttp://...:8080/
)。 DNSにSRVレコードを照会しません。
ユースケースでは、ブラウザから指定されたHost
HTTPヘッダーに基づいて接続をリダイレクトするようにHTTPサーバー(またはリバースプロキシ)を構成できます。一般に「仮想ホスト」と呼ばれる機能。
このシナリオでは、サーバーはポート80で外部接続をリッスンし、クライアントが要求したアドレスを確認します。 api.abc.com
の場合は、接続を内部ポート8081に転送します(最も一般的には、内部追加、つまり127.0.0.1:8081に構成されます)。それ以外の場合は、通常のWebサイトのコンテンツを提供します。
クライアントブラウザがSNIをサポートしている場合(および現在のほとんどのブラウザがサポートしている場合)、HTTPS接続も可能です。