【问题标题】:Apache Fronted with Tomcat in PCFApache 在 PCF 中以 Tomcat 为前端
【发布时间】:2019-01-11 18:00:16
【问题描述】:

我们必须在 PCF 中使用 tomcat for java build pack 来实现 Apache-fronted Application:

我们可以为这种方法使用多个构建包吗? 或者 我们可以使用 Apache proxy_http_module 来使用这种方法吗?

PCF 是否推荐任何替代选项?

您能否指导我们,您的建议对我们更有用。 感谢您的支持。

【问题讨论】:

  • 您必须使用 Apache Web Server 作为前端的原因是什么?是什么推动了这一要求?这可能是不必要的,但我们需要更好地了解您的要求,以便推荐其他更适合 CF 的解决方案。
  • 感谢您的即时回复。我们的旧应用程序正在使用 Apache HTTPD 服务器并具有更多指令,例如 Document root、rewriteEngine、rewriteCond、rewriteRule、Script Alias、Alias、Error document、Errorlog、ServerName、ServerAlias 等,我们正在为这个旧应用程序迁移到 Pivotal Cloud Foundry Java Build Pack 但它嵌入 Tomcat 服务器不符合我们的 Apache HTTPD 要求。因此,我们需要 Apache 作为前端,tomcat 作为后端来部署我们的应用程序。我希望,你理解我的要求,你能提供任何推荐的方法吗>

标签: apache tomcat cloud-foundry


【解决方案1】:

在 Cloud Foundry 之前,您通常会在 Tomcat 前面运行 Apache Web Server (HTTPD) 作为负载平衡器,并可能提供静态内容。您还可以使用它的一些功能,例如重写或身份验证。

在 Cloud Foundry 中,这确实没有必要。该平台为您提供开箱即用的负载平衡,而 Tomcat 通常可以完成其余工作。

例如:

  • Tomcat 可以提供静态内容。它发生在默认配置中并且执行得很好。如果您需要从 Tomcat 中挤出更多性能,您始终可以启用 APR 连接器,该连接器使用 HTTPD 使用的相同 C 库,并且可以为某些工作负载提供适度的性能提升(您的里程可能会有所不同,所以测试并确认它实际上是帮助)。

  • ScriptAlias 用于配置 CGI。大多数 Java 应用程序不需要它,因此您可以跳过它。如果你确实有CGI的需求,或许这里其实有多个app,你可以在CF上分离推送。如果一切都失败了,你必须在同一个应用程序中进行 CGI,Tomcat 确实支持 CGI -> https://tomcat.apache.org/tomcat-9.0-doc/cgi-howto.html

  • ErrorDocument。您可以使用 Tomcat 完全自定义 HTTP 响应代码。它是通过 web.xml 完成的,因此您可以在 the server level 或您的应用程序中完成。请参阅 web.xml 的 <error-page> 标签。

  • AuthType。 Tomcat 有自己的身份验证和授权机制。这些涵盖了典型的集成,如 LDAP。看这里->https://tomcat.apache.org/tomcat-9.0-doc/realm-howto.html

希望有帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-30
    • 2015-06-10
    • 1970-01-01
    • 2012-01-20
    相关资源
    最近更新 更多