この質問が意味をなさない場合は申し訳ありません(ここにはエキスパートがいません)が、tomcatがポート8080をリッスンし、そのURLが通常80にアドレス指定されていることを理解しています。URLが8080を指すようにDNSに指示する方法はありますか?または、どうすればこの問題を解決できますか?
この質問が意味をなさない場合は申し訳ありません(ここにはエキスパートがいません)が、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/を試すことができます。これにより、tomcatインスタンスに正しく解決されます。httpのデフォルトポートは80であるためです。
DNSを介してこれを解決する可能性があるかもしれません:SRVレコード
SRVレコードを使用して、基本的にDNSに「example.orgのhttpdはどこにあるのか」などの質問に答えるように指示します。DNSはIPアドレスとポート番号で応答します。
クライアントがこの情報を要求するのか、ブラウザがAレコードの検索を行い、ポート80を使用して特定のIPからWebサイトを要求するのかはわかりませんが、DNSで実行する場合は、試してみる価値があります。
それ以外の場合:Ether Tomcatにポート80をリッスンさせるか、Apacheのmod_proxyを介して8080をTomcatにリダイレクトします。