Tomcat7の上にCentOS 6を実行しているWebサーバーがあります。すべてがうまく機能しますが、ユーザーはさまざまな方法でサーバーにアクセスできます。
たとえば、
- IPアドレス
example.com
www.example.com
このアドレスはブラウザからアクセスできます。ただし、www.example.com
IPアドレスまたはアクセス時に「example.com」を指すようにサーバーを設定したいと思います。
IP アドレスの例、xxx.xx.xx.xx ► example.com
www.example.com ► example.com
これを達成する最も簡単な方法は何ですか?サーバーにDNSを構成する必要がありますか?
答え1
これを防ぐためにできることは実際にはありません。最善の方法は、さまざまなURLまたはIPアドレスにアクセスするときにそれに応じてアクセスされたURLをリダイレクトまたは再作成してdomain.comにするために、Tomcatに一連の書き換え規則を配置することです。
フロントエンドWebサーバー
多くの場合、人々はこれを助けるためにTomcatまたはJettyサーバーを展開し、その前にWebサーバーを配置します。私が働いているところでは、Nginxを使ってこれを行います。デフォルトでは、Tomcatサーバーをその背後にあるスレーブサーバーにプロキシしています。このように展開すると、Tomcatサーバーを「保護」して、必要な方法でのみアクセスできます。なぜなら、エンドユーザーは前のWebサーバーに公開されているURLにのみアクセスできるからです。
この展開モデルの詳細については、ここで確認できます。
Nginxは単なるWebブラウザであり、Apacheや他のものを簡単に使用してフロントエンドレイヤーを提供できます。
Tomcatのみを使用して書き直されました
別の方法は、このようなモジュールを使用することです。URL書き換えフィルタ、Tomcat内でURLを書き換えることができます。このアプローチは、以下を使用するのと似ています。Apache mod_rewrite着信URLを削除してリダイレクトするモジュールです。
UrlRewriteFilterのルールを生成する方法についての素晴らしいチュートリアルがあります。タキURLRewriteの使い方。