有没有办法在 Apache 上查找文件,如果找不到,则在 Tomcat 中查找?

有没有办法在 Apache 上查找文件,如果找不到,则在 Tomcat 中查找?

我有一个包含非常大的媒体文件的 Web 应用程序项目,我希望它们与应用程序的其余部分分开,但仍保留在同一路径中。

例如,如果我在 apache 文档根目录中有一个文件:

/var/www/html/myapp1/media/bigFile.wmv 

但我的应用程序的其余部分位于 tomcat 应用程序目录中:

/usr/share/tomcat/webapps/myapp1/

有没有办法查看 Apache 是否有该文件,如果没有,则在 Tomcat 中查找,如果没有找到任何内容,则给出 404?

我刚刚尝试这样做,得到了 tomcat 404。这是因为我的 tomcat 在 Apache 后面运行,所有请求都直接发送到 tomcat。

有没有办法看看 Apache 是否有该文件,如果找不到,则在 Tomcat 中查找,如果仍未找到任何内容,然后给出 404?

如果情况相反,如果我可以从tomcat 到 apache 到 404,我可以将整个应用程序 + 媒体文件放入 apache,然后将应用程序的新版本放入 tomcat。我不必在两个目录之间进行差异比较。

这是我当前使用的 tomcat 的配置文件:

<VirtualHost *:80>
   ServerName localhost
   ServerAlias website.com

   ProxyRequests Off
   ProxyPreserveHost On

   ErrorLog /var/log/httpd/tomcat.error.log
   CustomLog /var/log/httpd/tomcat.log combined

   <Proxy *>
           Order deny,allow
           Allow from all
   </Proxy>

   ProxyPass / http://localhost:8080/
   ProxyPassReverse / http://localhost:8080/
</VirtualHost>

答案1

你可以尝试 apachemod_jk。这使您能够在 apache 后面运行 tomcat。您特别需要使用选项杰克山(除了其他选项)将特定的 URL 从 apache 重定向到 tomcat。

未指向 tomcat 且在 apache 中不可用的 URL 将导致 404 HTTP 错误。

为了让您在实施此类设置时更加轻松,请验证 tomcat 是否单独运行,apache 是否单独运行。然后尝试连接它们。

相关内容