この質問が意味をなさない場合は申し訳ありませんが(ここにはエキスパートがいません)、Tomcatがポート8080をリッスンし、URLが通常80にアドレス指定されていることを理解しています。URLが8080を指すようにDNSに指示する方法はありますか?または、どうすればこの問題を解決できますか?
DNSはポートについて何も知りません。 Tomcatにポート8080でリッスンさせたい場合は、いくつかのオプションがあります。 1つ目は、URLでポート番号を使用することです
http://example.com:8080/
それを見たくない場合は、Webサーバーをポートプロキシとして使用できます。たとえば、Apacheではmod _ proxyを使用できます。
<VirtualHost *:80>
ServerName example.com
ProxyRequests Off
<Proxy *>
Order deny,allow
allow from all
</Proxy>
ProxyPreserveHost On
ProxyPass / http://example.com:8080/
ProxyPassReverse / http://example.com:8080/
ProxyErrorOverride Off
</VirtualHost>
Tomcatがポート80をリッスンするようにするのが最善だと思います。他のサーバーがポート80をリッスンしていない場合は、これを行うことができます。そのために、server.xmlを編集できます。
次のように変更し、
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
http://example.com/.This を試すことができるようになりました。Tomcatインスタンスに正しく解決されます。httpのデフォルトポートが80であるためです。
これはhttp://the.site.invaild:8080/
。
DNSでポートを指定することはできません。 DNSは名前をIPにマップするだけです。しかし、ポートはありません。
DNS経由でこれを解決する可能性があるかもしれません: SRV-Records
SRVレコードを使用して、基本的にDNSに「example.orgのhttpdはどこにあるのか」などの質問に答えるように指示します。 DNSはIPアドレスとポート番号で応答します。
クライアントがこの情報を要求するのか、ブラウザがAレコードの検索を行い、ポート80を使用して特定のIPからWebサイトを要求するのかはわかりませんが、DNSで実行する場合は、試してみる価値があります。
それ以外の場合:Ether Tomcatにポート80をリッスンさせるか、Apacheのmod_proxyを介して8080をTomcatにリダイレクトします。