Мне поручено установить новую систему, чтобы заменить старую. Старая система представляет собой установку Ubuntu, на которой работают Apache и Tomcat, а также несколько других служб. Новая система будет Debian Squeeze, постоянно обновляемая за счет обновлений программ и безопасности.
Я ни в коем случае не являюсь экспертом в тонкостях Apache и Tomcat, но мне казалось, что я понял, что для совместной работы этих двоих вам потребуется отдельное приложение / модуль под названием mod_jk. Большинство инструкций в сети, кажется, со мной согласны.
Однако, проверяя старую установку, я не могу найти никаких указаний относительно того, где в игру вступает mod_jk. Я ожидал чего-то вроде
JkMount /* ajp13_worker
в любом файле конфигурации для Apache, предпочтительно в любом из файлов / etc / apache2 / sites-available / *.
Я прикрепил /etc/apache2/sites-available/ourapp.oursite.tld.conf:
NameVirtualHost ourapp.oursite.tld:443
<VirtualHost ourapp.oursite.tld:443>
ServerName ourapp.oursite.tld
ServerAdmin admin@oursite.tld
ErrorLog /var/log/apache2/ourapp.oursite.tld_ssl_error_log
TransferLog /var/log/apache2/ourapp.oursite.tld_ssl_access_log
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /etc/apache2/ssl/servernew-public.key
SSLCertificateKeyFile /etc/apache2/ssl/servernew-private.key
<FilesMatch "\.(cgi|shtml|phtml|php3?)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory "/tmp">
SSLOptions +StdEnvVars
</Directory>
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog /var/log/apache2/ourapp.oursite.tld_ssl_request_log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
DirectoryIndex index.jsp
Redirect /webapps https://ourapp.oursite.tld/ourapp/
Redirect /abs https://ourapp.oursite.tld:81
Redirect / https://ourapp.oursite.tld/ourapp/
ProxyRequests Off
#ProxyVia On
#ProxyPreserveHost On
ProxyPass /ourapp http://127.0.0.1:8180/ourapp
ProxyPassReverse /ourapp http://127.0.0.1:8180/ourapp
ProxyPass /pbsEasyRequester http://127.0.0.1:8180/pbsEasyRequester
ProxyPassReverse /pbsEasyRequester http://127.0.0.1:8180/pbsEasyRequester
ProxyPass /ordertracking http://127.0.0.1:8180/ordertracking
ProxyPassReverse /ordertracking http://127.0.0.1:8180/ordertracking
<IfModule mod_deflate.c>
#SetOutputFilter DEFLATE
</IfModule>
</VirtualHost>
NameVirtualHost ourapp.oursite.tld:80
<VirtualHost ourapp.oursite.tld:80>
ServerName ourapp.oursite.tld
ErrorLog /var/log/apache2/ourapp.oursite.tld_error_log
TransferLog /var/log/apache2/ourapp.oursite.tld_access_log
Redirect /webapps https://ourapp.oursite.tld/ourapp/
Redirect /abs https://ourapp.oursite.tld:81
Redirect / https://ourapp.oursite.tld/ourapp/
ProxyRequests Off
#ProxyVia On
#ProxyPreserveHost On
ProxyPass /ourapp http://127.0.0.1:8180/ourapp
ProxyPassReverse /ourapp http://127.0.0.1:8180/ourapp
ProxyPass /pbsEasyRequester http://127.0.0.1:8180/pbsEasyRequester
ProxyPassReverse /pbsEasyRequester http://127.0.0.1:8180/pbsEasyRequest
ProxyPass /ordertracking http://127.0.0.1:8180/ordertracking
ProxyPassReverse /ordertracking http://127.0.0.1:8180/ordertracking
</VirtualHost>
NameVirtualHost ourapp.oursite.tld:81
<VirtualHost ourapp.oursite.tld:81>
ServerName ourapp.oursite.tld
ErrorLog /var/log/apache2/ourapp.oursite.tld_joomla_error_log
TransferLog /var/log/apache2/ourapp.oursite.tld_joomla_access_log
DocumentRoot /var/www/joomla
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /etc/apache2/ssl/servernew-public.key
SSLCertificateKeyFile /etc/apache2/ssl/servernew-private.key
#SSLCACertificateFile /etc/apache2/ssl/ourapp.oursite.tld.crt
<FilesMatch "\.(cgi|shtml|phtml|php3?)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory "/tmp">
SSLOptions +StdEnvVars
</Directory>
</VirtualHost>
Я вижу, что в нем указано, что файл по умолчанию - index.jsp, но я не могу понять, как эта система знает, что Tomcat должен использоваться.
Буду признателен, если вы мне подскажете. Могу выложить любой конфигурационный файл по запросу.
Спасибо.
Судя по всему, я мог бы предположить, что это разделы mod_proxy посередине:
ProxyPass /ourapp http://127.0.0.1:8180/ourapp
ProxyPassReverse /ourapp http://127.0.0.1:8180/ourapp
ProxyPass /pbsEasyRequester http://127.0.0.1:8180/pbsEasyRequester
ProxyPassReverse /pbsEasyRequester http://127.0.0.1:8180/pbsEasyRequest
ProxyPass /ordertracking http://127.0.0.1:8180/ordertracking
ProxyPassReverse /ordertracking http://127.0.0.1:8180/ordertracking
Если вы выполните поиск в файле конфигурации сервера Tomcat (я думаю, server.xml) по запросу «8180», вы, вероятно, найдете там запись «HTTP-коннектор». В этом случае Apache фактически обращается к встроенному в Tomcat веб-серверу HTTP.