我在Apache/2.2.14
中使用Apache Tomcat/6.0.29
和Ubuntu 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
重写网址?
答案 0 :(得分:2)
如果您只使用mod_proxy而不是mod_ajp ...
,则可以跳过所有配置ProxyPass /foo http://localhost:8080/bar
ProxyPassReverse /foo http://localhost:8080/bar
这将代理/ foo到端口8080上运行的本地服务器URL /栏。