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


8

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



この記事では、SRVを使用してポートを指定する方法について説明していると思います。ただし、DNS割り当てポートよりもURIポートが優先されるようです。私が理解しているように、Webブラウザーは自動的にポート80をアドレスに追加します。
Andy2K11 2012年

回答:


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>

ポート80でリッスンしている別のホストがある場合はどうなりますか?1台のマシンに2台のサーバー(この場合は必須)がありますが、そのWebサーバーへのトラフィックをリッスンしているポートであっても、URLのポート番号を非表示にしたいです。
ジェイブランチャード2014年

@JayBlanchard私はあなたのコメントを本当に理解していないので、名前ベースの仮想ホストとmod_proxyに関するドキュメントを読むと言う以外に、それ以上引き寄せられることはありません。
user9517 14年

2

これはによって行われhttp://the.site.invaild:8080/ます。

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


2

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

次のように変更し、

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

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


私はあなたの例を試しましたが、それは私のために機能していません
ルフィ

2

DNSを介してこれを解決する可能性があるかもしれません:SRVレコード

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

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

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


一般的なブラウザは、まだSRVレコード検索をサポートしていません-参照homepage.ntlworld.com/jonathan.deboynepollard/FGA/...と議論こちらを
the-wabbit
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.