web-dev-qa-db-ja.com

DNSは特定のポートを指すことができますか?

あるサーバーで仮想マシンを取得しましたが、URLは次のようなものです。

111.11.11.111:8002

特定のポートを指すDNSを取得できますか?

もう一つ。それができない場合、サーバー上の仮想マシンをそのサーバーDNSのサブドメインにできますか?

8
Ivan Vulović

DNSにはポートの概念はありません。 DNSはIPアドレスのみを指します。

特定のサービスのために接続するポートは 慣例により決定 です。たとえば、HTTPのデフォルトポートは80で、SSHのデフォルトポートは22です。

デフォルトのポートをオーバーライドする唯一の方法は、URL(またはSSHなどのコマンドライン)で指定することです。 DNSでポート番号を指定する方法はありません。 Webサイトを実行している場合、URLにいポート番号を含めたくない場合、サーバーはポート80でHTTP要求に応答する必要があります。


あなたが何を成し遂げようとしているのか、はっきりとはわかりません。

同じサーバー上で複数のサイトを実行する場合、通常は可能です。同じサーバー内で、異なるドメインまたは異なるサブドメインから複数のサイトを実行できます。 仮想ホスト を設定する必要があります。

別のテクノロジーを実行する2番目のサーバーを実行する必要がある場合があります(たとえば、TomcatでJavaを実行するか、RailsサーバーでRubyを実行します)。その場合、 リバースプロキシ を使用して追加のサーバーをメインサーバーに接続し、URLからポート番号を削除するのが一般的です。

サイトを自宅でホストしようとしていて、ISPがポート80をブロックしている場合は、運が悪いです。唯一のオプションは、異なるホスティングを見つけるか、URLにポート番号を含めることです。


DNSでポート番号を指定できる新しいイノベーションがあります: SRV Records 。ただし、これらは、それらを処理するように設計された新しいプロトコルでのみ動作するように設計されています。 HTTPやHTTPSなどの古いプロトコルは、現在のポート番号を引き続き使用します。

13

PORT設定はホスティングサーバー側の設定であり、DNSとは関係ありません。ドメインまたはサブドメインをIPにポイントすると、ホスティングサーバーは仮想ホストファイルを介してポート要素を制御します。

つまり、AレコードをIPアドレスに入力し、仮想ホストファイルでサーバーが動作するポートを制御するだけです。

2
Simon Hayter