0

我正在尝试配置 mod_jk 以将请求转发到我在 tomcat 中运行的 webapp。(我在其他地方读到 mod_proxy_ajp 是要走的路,但想先弄清楚这一点)。我是 tomcat 和 mod_jk 的新手。

我尝试访问——http: //www.example.com/test/index.jsp

配置 mod_jk 后,我的 apache 日志中出现 400 错误。当我直接在 tomcat 中测试时,webapp 运行良好。在 mod_jk 日志文件中,我看到它正在尝试映射 A/index.jsp,但它以 400 失败。所以我看到 mod_jk 被调用但不知何故 modjk 没有看到 webapp。

任何帮助是极大的赞赏

我在 SuSe Linux 11 上,在同一个机器上运行 apache 和 tomcat。

我的 httpd.conf 是一个整体文件。在其中我添加了以下内容 -

<IfModule jk_module>
Alias /test/ "/srv/tomcat6/webapps/A"
JkWorkersFile   /usr/local/apache2/conf/workers.properties
JkShmFile       /usr/local/apache2/logs/mod_jk.shm
JkLogFile       /usr/local/apache2/logs/mod_jk.log
JkLogLevel      debug
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

JKMount        /test/ A1
JkMount     /test/* A1
JkOptions       +ForwardSSLCertChain
</IfModule>

我在workers.properties中有以下内容-

#Define 1 real worker using ajp13
worker.list=A
#Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.ajp13.lbfactor=50
worker.ajp13.cachesize=10
worker.ajp13.cache_timeout=600
worker.ajp13.socket_keepalive=1
worker.ajp13.socket_timeout=300

谢谢, - 瓦斯

4

2 回答 2

0

你加载模块了吗?

 LoadModule jk_module [path to it]

如果它已经加载或编译,我相信该指令将是真实的。

于 2009-11-29T21:08:26.140 回答
0

您的工人称为 A,但您的 JkMount 映射到 A1。你应该有一个这样的条目,

JkMount /test/* 一个

我同时使用了 mod_jk 和 mod_proxy_ajp。在重负载下,mod_jk 性能更好,因为 mod_jk 连接更持久。mod_proxy 确实更容易设置。

编辑:工作人员配置也不正确。应该是这样的

#Define 1 real worker using ajp13
worker.list=A
#Set properties for worker1 (ajp13)
worker.A.type=ajp13
worker.A.host=localhost
worker.A.port=8009
worker.A.lbfactor=50
worker.A.cachesize=10
worker.A.cache_timeout=600
worker.A.socket_keepalive=1
worker.A.socket_timeout=300
于 2009-11-30T01:47:18.587 回答