Я новичок в Apache Server (2.0, я знаю, что он немного устарел, однако на работе мне приходится его изучать, поскольку мы используем именно эту версию) и теперь пытаюсь заставить Apache работать с Jboss (Jboss как сервер приложений, Apache, выступающий за JBoss и обслуживающий весь статический контент).
Мне удалось заставить Apache работать с Jboss с помощью mod_jk; однако когда я пытаюсь добавить конфигурацию виртуального хоста, чтобы Apache обслуживал изображения из определенной папки вместо того, чтобы заставлять JBoss обслуживать статический контент, я получаю ошибку 403 Forbidden.
Я просмотрел несколько форумов и других сайтов, чтобы найти ответ или решение этой проблемы, но, к сожалению, ничего не помогло! :(
Пожалуйста, кто-нибудь может мне с этим помочь? Небольшие пояснения были бы приветственным дополнением.
Ниже приведено определение моего виртуального хоста в файле httpd.conf.
<VirtualHost *:80>
ServerAdmin admin@localhost
ServerName localhost
DocumentRoot "D:/Dev-Ops/apache/Apache2/htdocs/jboss/"
<Directory "D:/Dev-Ops/apache/Apache2/htdocs/jboss/">
AllowOverride All
Order Allow,Deny
Allow from all
Require all granted
</Directory>
#rewrite incoming requests
RewriteEngine On
RewriteCond /SchoolApp%{REQUEST_FILENAME} !-f
RewriteRule ^/(.*)$ http://localhost:8080/SchoolApp/$1 [proxy,last]
</VirtualHost>
Мы будем очень признательны за вашу помощь.
PS: Я следил за этимСвязьпосле попытки выполнить несколько других подобных инструкций.
решение1
Наконец я сам разобрался. В Mod-Jk есть директивы JkMount и JkUnMount для перенаправления контента.
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "D:\Dev-Ops\apache\Apache2\htdocs"
ServerName localhost.com
JkMount /SchoolApp/* loadbalancer
JkMount /SchoolApp loadbalancer
JkUnMount /SchoolApp/*jpg loadbalancer
JkUnMount /SchoolApp/*.html loadbalancer
</VirtualHost>
JkMount /SchoolApp/*
перенаправляет все запросы из Apache в веб-приложение jboss SchoolApp (здесь:http://localhost.com:8080/SchoolApp/); так как я использовал его,
JkUnMount /SchoolApp/*jpg loadbalancer
он не будет перенаправлять никакие запросы наjpgфайлы в jboss, вместо этого он будет искать SchoolApp/
папку в ней "D:\Dev-Ops\apache\Apache2\htdocs"
и выдавать изображения оттуда, у меня там есть правильная структура каталогов, которая имитирует структуру каталогов для файла jpg, который я запросил из веб-приложения Jboss.
например, если я запрошуhttp://localhost.com/SchoolApp/, mod-jk перенаправляет запрос наhttp://localhost.com:8080/SchoolApp/однако; если я попрошуhttp://localhost.com/SchoolApp/welcome.jpg, этот запрос не будет перенаправлен наhttp://localhost.com:8080/SchoolApp/welcome.jpgдаже если такой файл есть в приложении jboss, вместо этого он будет искать welcome.jpg в папке htdocs/SchoolApp/ в Apache, и если welcome.jpg там есть, он будет обслуживать файл оттуда.
Надеюсь, это все объясняет.