Коннектор AJP не работает? (ошибка 404)

Я пытаюсь подключить веб-сервер Apache (2.4.10) к Tomcat 7, оба расположены на двух разных виртуальных машинах. Я впервые использую эти инструменты. Из того, что я понял, способ проверить, работает ли соединение, - это попытаться получить доступ к Tomcat, используя URL-адрес IP/instance вместо, если у меня есть Tomcat на порту 8080, IP:8080/instance. Однако каждый раз, когда я пытаюсь это сделать, Apache возвращает ошибку 404. Вот моя конфигурация:

На виртуальной машине Tomcat в server.xml есть строка:

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443 />

На виртуальной машине Apache я установил эти файлы:

apache2.conf (в основной папке Apache)

Servername apache
Include httpd.conf
ServerRoot "/etc/apache2"

Mutex file:${APACHE_LOCK_DIR} default

PidFile ${APACHE_PID_FILE}

Timeout 300

KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5

User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}

HostnameLookups Off

ErrorLog ${APACHE_LOG_DIR}/error.log

LogLevel warn

# Include module configuration:
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf

Include ports.conf

<Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>

<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

AccessFileName .htaccess

<FilesMatch "^\.ht">
        Require all denied
</FilesMatch>

LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

# Include generic snippets of statements
IncludeOptional conf-enabled/*.conf

# Include the virtual host configurations:
IncludeOptional sites-enabled/*.conf

httpd.conf (в основной папке Apache, символическая ссылка в conf-доступна и conf-включена)

LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so

work.properties (в /etc/libapache2-mod-jk)

workers.tomcat_home=/usr/share/tomcat7

workers.java_home=/usr/lib/jvm/java-7-openjdk-amd64

ps=/

worker.list=agent1
worker.maintain=3600

worker.agent1.port=8009
worker.agent1.host=192.168.2.97
worker.agent1.type=ajp13

worker.agent1.lbfactor=1
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=agent1

jk.conf (в папке с модами, ссылка в модах включена)

JkWorkersFile /etc/libapache2-mod-jk/workers.properties

JkLogFile /var/log/apache2/mod_jk.log
JkLogLevel debug
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

JkShmFile /var/log/apache2/jk-runtime-status

JkWatchdogInterval 60

JkMount     /gameoflife/*   agent1 
JkMount     /gameoflife     agent1
JkMount     /gameoflife*    agent1

<Location /jk-status>
    JkMount jk-status
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
</Location>
<Location /jk-manager>
    JkMount jk-manager
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
</Location>

Я знаю, что это может быть беспорядок, потому что я пытался следовать различным руководствам и делать все, чтобы он работал, но я все равно получаю ошибку 404. Как я могу заставить его работать? Заранее спасибо.


person RVKS    schedule 08.07.2015    source источник


Ответы (1)


По некоторым причинам он начал работать, как только я попытался (в отчаянии) реализовать балансировщик нагрузки даже без работы AJP-коннектора на одном сервере, учитывая, что с самого начала это было моей конечной целью. Ультра счастлив.

В конце я еще написал JkMount инструкцию в 000-default.conf файле в site-enabled, именно в VirtualHost< *:80> инструкции. Возможно, это было необходимо для того, чтобы работать должным образом.

person RVKS    schedule 08.07.2015