web-dev-qa-db-ja.com

URLがTomcatインスタンスを指すようにする方法は?

この質問が意味をなさない場合は申し訳ありませんが(ここにはエキスパートがいません)、Tomcatがポート8080をリッスンし、URLが通常80にアドレス指定されていることを理解しています。URLが8080を指すようにDNSに指示する方法はありますか?または、どうすればこの問題を解決できますか?

8

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>
8
user9517

Tomcatがポート80をリッスンするようにするのが最善だと思います。他のサーバーがポート80をリッスンしていない場合は、これを行うことができます。そのために、server.xmlを編集できます。

次のように変更し、

<Connector port="80" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           redirectPort="8443" />

http://example.com/.This を試すことができるようになりました。Tomcatインスタンスに正しく解決されます。httpのデフォルトポートが80であるためです。

2
sunnychayen

これはhttp://the.site.invaild:8080/

DNSでポートを指定することはできません。 DNSは名前をIPにマップするだけです。しかし、ポートはありません。

2
mailq

DNS経由でこれを解決する可能性があるかもしれません: SRV-Records

SRVレコードを使用して、基本的にDNSに「example.orgのhttpdはどこにあるのか」などの質問に答えるように指示します。 DNSはIPアドレスとポート番号で応答します。

クライアントがこの情報を要求するのか、ブラウザがAレコードの検索を行い、ポート80を使用して特定のIPからWebサイトを要求するのかはわかりませんが、DNSで実行する場合は、試してみる価値があります。

それ以外の場合:Ether Tomcatにポート80をリッスンさせるか、Apacheのmod_proxyを介して8080をTomcatにリダイレクトします。

2
Subito