1

我正在使用Apache/2.2.14andApache 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 通过http://my.host.com/portal访问 tomcat 时,tomcat 都会回复:

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

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

JkMount       /portal/* worker1

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

有什么方法可以使用重写 URLmod-jk吗?

4

1 回答 1

2

如果您只使用 mod_proxy 而不是 mod_ajp,则可以跳过所有配置...

ProxyPass /foo http://localhost:8080/bar
ProxyPassReverse /foo http://localhost:8080/bar

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

于 2012-04-30T18:07:15.893 回答