Я новичок в 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: я следил за этим Ссылка на сайт попробовав несколько других таких инструкций.
Наконец-то разобрался сам. В Mod-Jk есть директивы JkMount и JkUnMount для перенаправления контента.
<VirtualHost *:80>
ServerAdmin admin@localhost.com
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, он будет обслуживать файл оттуда.
Надеюсь, это объясняет.