Настройка веб-сервера Apache с Tomcat - PullRequest
0 голосов
/ 15 июля 2009

Я пытаюсь настроить Apache веб-сервер с Tomcat, используя AJP, но я не уверен, правильно я это делаю или нет.

Вот шаги, которые я выполнил:

Включено requiredModule в httpd.conf файле

LoadModule proxy_module modules/mod_proxy.so  
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so  

Добавлено условие ifModule в httpd.conf файле

<IfModule mod_proxy>  
    ProxyPass / ajp://localhost:8009/  
    ProxyPassMatch ^(/photos/.*\.jpg)$!  
</IfModule>  


Alias /photos "F:\projects\AL\Photos"  


<Directory "F:\projects\AL\Photos">  
    Options Indexes MultiViews  
    AllowOverride None  
    Order allow,deny  
    Allow from all  
</Directory> 

И, наконец, добавили Connector в файл server.xml для Tomcat

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

Теперь я пытаюсь найти файл JSP в следующем месте:

http://localhost:8009/examples/jsp/jsp2/el/basic-arithmetic.jsp

Это работает нормально, но я хочу вместо этого просмотреть JSP по адресу:

http://localhost/examples/jsp/jsp2/el/basic-arithmetic.jsp. 

Я тоже пробовал это:

<IfModule mod_proxy>

    ProxyPass / ajp://localhost:8009/
    ProxyPassReverse / ajp://localhost:8009/
    ProxyPassMatch ^(/photos/.*\.jpg)$!

    Alias /photos "F:\projects\AL\Photos"

    < Directory "F:\projects\AL\Photos">
        Options Indexes MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>

</IfModule>

и затем я попытался просмотреть следующий URL

http://localhost/examples/jsp/jsp2/el/basic-arithmetic.jsp

, который тоже не работает.

Правильно ли я сделал это или есть что-то еще, что я могу сделать?

Ответы [ 3 ]

1 голос
/ 14 июля 2010

Используйте директиву <Location>.

Как в: http://stuff.mit.edu/afs/athena/project/stellar-dist/www/stellar2/apache2/stellar2-ajp-proxy.conf

ПРИМЕЧАНИЕ. Очень важно добавить "/" после завершения пути ajp, иначе конфигурация выдаст ошибку 404.

0 голосов
/ 15 июля 2009

Включили ли вы соединитель AJP в файле Tomcat server.xml:

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

Вы не должны использовать порт AJP для доступа к Tomcat. При желании вы можете иметь как HTTP (8080), так и AJP (8009) соединитель. В этом случае вы получите доступ к Tomcat напрямую на локальном хосте: 8080

Кроме того, как сказал Райан Фернандес, вам также нужна директива ProxyPassReverse.

0 голосов
/ 15 июля 2009

Вам также понадобится «proxypassreverse» сразу после «proxypass»

...