我试图通过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>


这是加载的worker文件:

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


你可以帮帮我吗 ?

谢谢 !

最佳答案

当您收到404时,您没有提到要访问的URL,但是,如果您访问的是http://xx/LaunchMyCraft(不带斜杠),那么这是可以预期的,因为您的JkMount指令映射到/LaunchMyCraft/*(带斜杠)。 。

要解决此问题,请将您的JkMount映射更改为/LaunchMyCraft*(不带斜杠)。

08-07 02:02