使用mod_jk在Apache和Tomcat之间映射URL

时间:2012-04-30 13:03:09

标签: apache tomcat ubuntu url-rewriting mod-jk

我在Apache/2.2.14中使用Apache Tomcat/6.0.29Ubuntu Server 10.04.3 LTS

这是我的jk.conf

JkWorkersFile /etc/libapache2-mod-jk/workers.properties
JkMount       /portal/* worker1
JkLogLevel    debug
JkMountCopy   All

这是我的workers.properties

ps=/

# Define 1 real worker named worker1
worker.list=worker1

# Set properties for worker named worker1 to use ajp13 protocol,
# and run on port 8009
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=1
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300

问题在于每当我尝试通过apache访问tomcat:http://my.host.com/portal时,tomcat会回复:

13:39:30,683 INFO  [PortalImpl:3829] Current URL /portal/ generates exception: null

如果我为工作人员使用不同的挂载点,问题就会消失:

JkMount       /portal/* worker1

但是这迫使我在这里访问我的tomcat实例:http://my.host.com,这是我不想要的。

有没有办法使用mod-jk重写网址?

1 个答案:

答案 0 :(得分:2)

如果您只使用mod_proxy而不是mod_ajp ...

,则可以跳过所有配置
ProxyPass /foo http://localhost:8080/bar
ProxyPassReverse /foo http://localhost:8080/bar

这将代理/ foo到端口8080上运行的本地服务器URL /栏。