![如何从 Apache 网络服务器端引用 Tomcat 容器中的文件或资源?](https://linux22.com/image/548760/%E5%A6%82%E4%BD%95%E4%BB%8E%20Apache%20%E7%BD%91%E7%BB%9C%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%AB%AF%E5%BC%95%E7%94%A8%20Tomcat%20%E5%AE%B9%E5%99%A8%E4%B8%AD%E7%9A%84%E6%96%87%E4%BB%B6%E6%88%96%E8%B5%84%E6%BA%90%EF%BC%9F.png)
我确信我已经掌握了所有设置和配置,即 worker.properties、uriworkermap.properties。我很好奇您如何从浏览器本身引用某个上下文或 Web 应用下的文件或资源。显然,当通过 Apache Web 服务器时,您无法输入 localhost:8080//file。
答案1
- 让 apache 加载 mod_jk
LoadModule jk_module mod_jk.so
- 在 apache 配置中指定你的 worker.properties 文件
JkWorkersFile workers.properties
- 在 apache 配置中将流量从 apache 路由到 tomcat,其中
JkMount /*.jsp wlb
wlb 是在 worker.properties 文件中定义的。
也可以看看:http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html#Simple%20configuration%20example
答案2
只是猜测,这种解决方案会很混乱,但这里有一个想法:
使用 mod_jk 的 JkMount 指令将特定 URL 分配给 Tomcat。一般来说,JkMount 指令的结构为:
JkMount <URL prefix> <Worker name>
例如,以下指令将把所有以 .jsp 结尾或以 /servlet 开头的请求发送到“ajp13”工作程序,但对位于 /specificworker 中的文件的 jsp 请求将转到“specificworker”,其中 specificworker 是具有一个成员的非 AJP HTTP:8_80 工作程序。
JkMount /*.jsp ajp13
JkMount /servlet/* ajp13
JkMount /specificworker1/*.jsp specificworker1
JkMount /specificworker2/*.jsp specificworker2