【问题标题】:Is it possible to disallow jsp execution on tomcat + apache是否可以禁止在tomcat + apache上执行jsp
【发布时间】:2014-06-04 19:03:33
【问题描述】:

我在远程服务器上部署了一个应用程序 tomcat + apache + mod_jk + spring mvc。在向控制器发出请求后,我在响应中有 jsp 源代码。它与弹簧配置无关,因为它在本地工作。调试 mod_jk 后,我看到 tomcat 返回 jsp 源代码。

我认为问题与远程tomcat或apache有关(因为它是由我们的it部门配置的)。是否可以禁止在 tomcat 或 apache 上执行 jsp(可能是 httpd conf)?请建议如何解决此问题。

【问题讨论】:

  • 你是如何部署你的应用程序的?
  • @ElliottFrisch 我们有一些部署工具,但一般来说它只是将war文件放在tomcat web文件夹中
  • JSP 是在 Apache 的 HTDOCS 文件夹中,而不是在 Tomcat 的 webapps 文件夹下吗?
  • @developerwjk 不,它们在 tomcat webapps 文件夹中。但重要吗?我在这里对 Apache 的理解就像一个代理..

标签: java spring apache jsp tomcat


【解决方案1】:

Apache Web Server 不执行 JSP,因此您可能从那里获取 JSP。

通常,静态文件部署在 Apache Web 服务器上,而动态文件(JSP、自定义标签、类等)部署在 Apache Tomcat 上(Apache Web 服务器重定向相应的请求)。检查您的应用是否以这种方式部署。

尝试直接向 Apache Tomcat 发送 HTTP 请求(无需 Apache Web Server 的干预,看看会发生什么)

【讨论】:

  • 我会尝试,但我认为这是不可能的,因为从外部看不到 tomcat,只有 apache
【解决方案2】:

原因是 jsp 编译器被禁用,请参阅 org.apache.jasper.servlet.JspServlet,在 tomcat\conf\web.xml. 它团队说它是生产的推荐选项)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-01
    • 1970-01-01
    • 2010-10-15
    • 1970-01-01
    • 2011-06-05
    • 2018-08-17
    • 2011-11-01
    相关资源
    最近更新 更多