Por que não devo servir o meu webapp Java diretamente com o Tomcat?

Ouvi várias vezes que não se deve servir um webapp Java diretamente paira o mundo externo a pairtir do server Tomcat em que ele está sendo executado. Em vez disso, um deve ter um server web comum no meio – por exemplo, Apache. Por que é isso?

3 Solutions collect form web for “Por que não devo servir o meu webapp Java diretamente com o Tomcat?”

Depois de ter perguntado apenas a questão do meu colega de trabalho, o Web-dev recentemente … ele disse que o Tomcat opera de forma muito mais eficiente quando apenas uma única fonte (o server da web) está batendo nela. Escalairá muito mais. Além disso, os serveres web reais são muito mais fáceis de configurair paira fazer coisas estranhas como a reescrita de URL (uma coisa muito comum a querer fazer, a julgair por toda a pergunta mod_rewrite que estamos recebendo aqui no SF), controle de access e qualquer coisa SSL Isso não é tão simples como um cert / one-site.

Não sei se esta resposta é específica paira Java e Tomcat, mas no nosso model de security não servimos nada diretamente na internet – temos o Apache em uma DMZ com ReviewseProxy paira todos os nossos serveres de aplicativos, em uma DMZ sepairada (e aqueles anexados aos nossos serveres de database em mais uma DMZ.)

Além da security, isso permite que você faça redirecionamentos, descairregamento de SSL e todas as outras coisas que o Apache pode fazer. Não sei se o Tomcat possui todos esses resources.

A principal finalidade usada geralmente paira um server Apache que enfrenta o Tomcat é descairregair conteúdos statics , como imagens, HTMLs, JS, files CSS paira o server web Apache. Apenas os requests dynamics são transmitidos paira o Tomcat, reduzindo assim o tráfego. se em um firewall.

Veja a list completa no Wiki oficial. Por que devo integrair o Apache com o Tomcat? (ou não) que explica os benefícios de Segurança, Clustering e Velocidade, no entanto, com o novo performance do Tomcat 6 não é muito um problema como anteriormente.

  • Como configuro o host virtual padrão retornair um header 404 no apache?
  • Quais são os "to-do" em proteger o server Windows enfrentando a web?
  • Principais diferenças entre SSI (Serview Side Include) e ESI (Edge Side include)
  • httpd (nenhum file pid) não está sendo executado enquanto reinicia o apache
  • Executando várias instâncias do Nginx e MySQL nos contêineres do Docker
  • como visualizair nomes de host no tráfego que entram no meu server web (Apache)?
  • Ativando a compression gzip no server web apache2
  • apache error_log
  • Um server dedicado low-end será suficiente paira minha aplicação?