我有通过mod_jk
或mod_proxy_http
连接到Tomcat的HTTP Apache服务器。到目前为止,mod_proxy_http
的连接工作正常但mod_jk
的连接导致找不到路径错误,例如:
在此服务器上找不到请求的网址/cm/login.ep。
apache error_log中的相应错误是:
[2014年5月24日星期六22:19:47] [错误] [客户端127.0.0.1]文件没有 存在:/ Library / WebServer / Documents / cm
httpd.conf中未使用VirtualHost定义。
mod_jk.log
未显示任何错误,可从workers.properties
文件中找到该工作程序。日志说:
[5月23日星期五17:19:25] [758:140735273992976] [info] init_jk :: mod_jk.c(3383):mod_jk / 1.2.40初始化
mod_proxy_http和mod_jk的连接配置如下:
以下是mod_proxy_http
设置:
ProxyPass /webservices ajp://localhost:8009/webservices
ProxyPass /engine ajp://localhost:8009/engine
ProxyPass /cmserver ajp://localhost:8009/cmserver
ProxyPass /searchserver ajp://localhost:8009/searchserver
ProxyPass /dwr ajp://localhost:8009/dwr
ProxyPass /rss ajp://localhost:8009/rss
ProxyPass /rest ajp://localhost:8009/rest
ProxyPass /pr ajp://localhost:8009/pr
ProxyPass /template-resources ajp://localhost:8009/template-resources
ProxyPassMatch (/.*\.ep) ajp://localhost:8009/$1
ProxyPassMatch ^(/.*\.image) ajp://localhost:8009/$i
ProxyPassMatch /assets ajp://localhost:8009/assets
ProxyPassMatch ^(/.*_d_.*\.html) ajp://localhost:8009/$1
ProxyPassMatch ^(/.*_prod_.*\.html) ajp://localhost:8009/$1
ProxyPassMatch ^(/.*\.json) ajp://localhost:8009/$1
以下是mod_jk
设置:
JkMount /webservices/* a6
JkMount /engine a6
JkMount /cmserver/* a6
JkMount /searchserver/* a6
JkMount /dwr/* a6
JkMount /rss a6
JkMount /rest/* a6
JkMount /pr a6
JkMount /template-resources* a6
JkMount /*.ep a6
JkMount /*.image a6
JkMount /assets/* a6
JkMount /*_d_*.html a6
JkMount /*_prod_*.html a6
JkMount /*_attr_*.html a6
JkMount /*_pkg_*.html a6
JkMount /*_ptd_*.html a6
JkMount /*_ptattr_*.html a6
JkMount /*_ptpkg_*.html a6
JkMount /*_static_*.html a6
JkMount /*_attr_*.html a6
JkMount /*.json a6
JkMount /order/* a6
workers.properties
是:
worker.list=status,a6
# Worker for a6 webapps
worker.a6.port=8009
worker.a6.host=localhost
worker.a6.type=ajp13
# Status worker for managing load balancer
worker.status.type=status