*Markus: Apache HTTP vor Tomcat - Welche Vorteile?

Hallo,

für ein Produktivsystem einer Webapplikation, bei der dynamische Inhalte mit Java realisiert wurden, sollte man einen Apache Webserver als Proxy vor einen Apache Tomcat schalten, aber was sind dabei die Vorteile?
Punkto Sicherheit denke ich mir, dass ein Angriff auf den HTTP-Server ja auch unmittelbar den Angriff auf Tomcat zur Folge hätte, oder wie kann ich mir das vorstellen?
Ist es nicht so, dass man durch die automatische Weiterleitung sofort auch auf den Tomcat kommt?
Hat jemand detailierteres Wissen diesbezüglich?
Welche Möglichkeiten bietet mir so ein Konzept noch?

Ich möchte dieses Konzept bei einem Webprojekt auf jeden Fall so realisieren, aber ich habe hierzu noch nicht sämtliche Möglichkeiten, die mir damit geboten werden, begriffen.

Markus

  1. Yerf!

    Hat jemand detailierteres Wissen diesbezüglich?

    Nur das, was ich bisher drüber gelesen hab...

    Welche Möglichkeiten bietet mir so ein Konzept noch?

    Der Vorteil ist, dass man den Tomcat ausschließlich für die Java-Applikationen benutzt und alles andere (statische Seiten + andere Skriptsprachen) über den Apache abwickelt.

    Es wird meistens auch ausdrücklich empfohlen, den Tomcat nicht für statisches HTML zu benutzen, da er dafür nicht optimiert ist.

    Gruß,

    Harlequin

    --
    <!--[if IE]>This page is best viewed with a webbrowser. Get one today!<![endif]-->
    1. Hallo,

      Hat jemand detailierteres Wissen diesbezüglich?

      Nur das, was ich bisher drüber gelesen hab...

      Wirst du dein Wissen mit mir teilen? :)

      Welche Möglichkeiten bietet mir so ein Konzept noch?

      Der Vorteil ist, dass man den Tomcat ausschließlich für die Java-Applikationen benutzt und alles andere (statische Seiten + andere Skriptsprachen) über den Apache abwickelt.

      So habe ich das auch schon gehört. Ich frage mich aber, wann ich das so realisieren soll, da fast jede Seite dynamische Elemente enthält (JSP).

      Markus

      1. Yerf!

        Wirst du dein Wissen mit mir teilen? :)

        Tjo, ich versuchs ;-)

        So habe ich das auch schon gehört. Ich frage mich aber, wann ich das so realisieren soll, da fast jede Seite dynamische Elemente enthält (JSP).

        Vermutlich gings hauptsächlich um Server, die mehrere Domains haben (mit VHosts) und nur wenige davon auch JSP einsetzen... der Port 80 kann ja nur von einem Server belegt werden, dass sollte in dem Fall besser ein Apache sein, der im Bedarfsfall an einen Tomcat übergibt.

        Gruß,

        Harlequin

        --
        <!--[if IE]>This page is best viewed with a webbrowser. Get one today!<![endif]-->
  2. Hallo!

    Tomcat vs. Apache

    Dass der Tomcat beim Ausliefern von statischen Inhalten signifikant langsamer wäre als der Apache, galt vielleicht bei Version 3.x noch. Aber bei aktuellen Versionen kann man das vermutlich vernachlässigen.
    Würde ich heute ein neues kleines J2EE Webprojekt starten, würde ich vermutlich nur Tomcat verwenden.

    Wenn ich viel Traffik erwarte und mehrere Webserver über Loadbalancer ansprechen möchte, würde ich vermutlich einen Apache davorsetzen.
    Wenn du jetzt noch verschiedene Services aufteilen möchtest, würde ich auch zu Apache Rewrite Rules greifen. Zb. alle SOAP Zugriffe auf einen bestimmten Webserver, alle Downloads auf einen eigenen Webserver usw.

    Wir haben so eine seit 2001 historisch gewachsene Applikation laufen. Der Apache ist hauptsächlich dafür da die statischen Seiten auszuliefern und die verschiedenen Serviceanfragen auf die 8 Tomcatserver aufzuteilen.

    Ich glaube aber, dass diese Apache/Tomcat Kombination hauptsächlich historische Gründe hat und heute nicht mehr so gilt. Der Tomcat hat sich ganz schön weiter entwickelt.
    Wie gesagt, für kleine Webprojekte mit nur einem Server wird der Tomcat vermutlich völlig ausreichen. Wenn du den Apache weg läßt, hast du zumindest eine Fehlerquelle weniger. Hier sehe ich keinen Grund einen Apache davorzuschalten.

    mfg
      frafu

    1. Hallo,

      Wie gesagt, für kleine Webprojekte mit nur einem Server wird der Tomcat vermutlich völlig ausreichen. Wenn du den Apache weg läßt, hast du zumindest eine Fehlerquelle weniger. Hier sehe ich keinen Grund einen Apache davorzuschalten.

      Bei mir wird es ein großes Webprojekt, wobei ich auch rigoros auf die Sicherheit achten muss (ok das muss man natürlich immer).
      Weißt du, wie es bezüglich Sicherheit bei diesem Apache-Tomcat-Konzept aussieht. Man sagte mir, dass es gleich viel sicherer sein soll, wenn der Apache davor geschalten wurde. Ich verstehe aber bisher nicht wieso, denn durch die Portweiterleitung auf den Tomcat landet man sowieso gleich am Tomcat, oder habe ich da einen Denkfehler?

      Markus