我尝试通过jk_mod连接Apache2和Tomcat,但我无法让它工作。当我打开一个应该重定向到应用程序的页面时,我会依赖于我的“普通”Apache HTTP 404页面。事情是所有东西似乎都是正确配置的,因为我没有看到任何日志上的任何错误(Apache很好,jk_mod很好,Tomcat也很好)...而且我知道所有内容都被加载因为如果我改变了我的JkMount行然后我在mod_jk.log中有错误。
以下是我的VirtualHost的一部分:
NameVirtualHost *:443
<VirtualHost *:80>
ServerName xx
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/>
Options -Indexes FollowSymLinks MultiViews -ExecCGI
AllowOverride All
Order allow,deny
allow from all
</Directory>
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_USER_AGENT} !Java
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
</VirtualHost>
<VirtualHost *:443>
ServerName xx
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/>
Options -Indexes FollowSymLinks MultiViews -ExecCGI
AllowOverride All
Order allow,deny
allow from all
</Directory>
SSLEngine on
SSLCertificateFile xx
SSLCertificateKeyFile xx
SSLCACertificateFile xx
JkMount /LaunchMyCraft/* ajp13_worker
</VirtualHost>
这是加载的工作文件:
workers.tomcat_home=/usr/share/tomcat7
workers.java_home=/usr/lib/jvm/java-7-openjdk-amd64/jre
ps=/
worker.list=ajp13_worker
worker.ajp13_worker.port=8009
worker.ajp13_worker.host=localhost
worker.ajp13_worker.type=ajp13
worker.ajp13_worker.lbfactor=1
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=ajp13_worker
你能帮帮我吗?
谢谢!
答案 0 :(得分:1)
当你获得404时,你没有提到你正在访问的URL,但如果你正在访问http://xx/LaunchMyCraft
(没有斜杠),那么这是预期的,因为你的JkMount指令映射到{{ 1}}(带斜杠)。
要解决此问题,请将您的JkMount映射更改为/LaunchMyCraft/*
(无尾随斜杠)。