【Tomcat 】【Apache】Tomcat と Apache を連携させる ~知識編~

  はじめに

 * Tomcat 単体で十分動く(※)のに、何故わざわざ Apache と連携させるの?って思ったので調べてみた
 ※ 簡易Webサーバとしての機能も有しているため、Webページの表示が可能

 * 実際の設定は、以下の関連記事を参照のこと。
http://blogs.yahoo.co.jp/dk521123/36072244.html

 

  連携させるメリット

[1] パフォーマンス
[2] セキュリティ
[3] 設定の柔軟性・拡張性

で検討していく

 

  [1] パフォーマンス

1) 静的なファイル(HTMLファイルや画像ファイル)をより高速なApacheが処理し、
   動的なページ(サーブレットJSP)をTomcatが処理することによって効率のよいレスポンスが実現できる。
 + なるほど。ただ、静的なファイルが少ないシステムではあまりメリットがないかも。

2) Apache に複数台の Tomcat を接続して負荷分散をすることもできる
 + これはデカい

 

  [2] セキュリティ

1) ApacheなどのWebサーバはTomcatより歴史の長く、
   その分セキュリティーホールの危険性も少ないため
   セキュリティの面でTomcatよりも信頼性が高い

 + 一概に言えるのかっと疑問。ApacheのノウハウをTomcatに取り込めばいいような...
 + 以下の参考文献(2)では、以下のように述べている。
*---
ApacheはCとC++で組んでありますが、TomcatJavaで組んであるため、
基本的なセキュリティフォールが少ないという前提があります。
# すべてに言える事だと思うのですが、完璧ではありません。
*---

2) Tomcat ではできない細かなセキュリティー対策やアクセス制限が Apache 側でできる
 + なるほど、なるほど

3) Tomcat単体だと管理画面(ユーザ認証があるが)が誰にでも見られるリスクが残るが、
   Apacheと連携させれば、その危険を軽減できる
 + なるほど


  [3] 設定の柔軟性・拡張性

1) ApacheはWebサーバとして、豊富な設定項目(ロードバランサー的な機能など)を持っており、
   設定の柔軟性が高い
 + なるほど

 

  連携させるデメリット

以下の参考文献(2)より
1) Tomcat単体より低速
2) セキュリティホールが単体より多い場合がある。
3) セットアップが面倒。アップグレード作業も手順が増える
4) プロキシに問題があった場合の切り分けがとても難しくなる。

 

 

 

  Tomcat単体メリットに関する参考文献

(2)
http://d.hatena.ne.jp/SeaHacker/20090406/1239008447

 

  関連記事

  TomcatApache を連携させる ~設定編~

http://blogs.yahoo.co.jp/dk521123/36072244.html