Sou um novato no servidor Apache (2.0, sei que é um pouco antigo, porém meu local de trabalho exige que eu aprenda, pois é a versão que estamos usando) e agora estou tentando fazer o Apache funcionar com o Jboss (Jboss como o servidor de aplicativos, Apache frontando o JBoss e servindo todo o conteúdo estático).
Eu fiz o Apache funcionar com o Jboss com a ajuda do mod_jk; no entanto, quando estou tentando adicionar a configuração do host virtual para fazer com que o Apache sirva imagens de uma pasta específica, em vez de enviar o JBoss para servir conteúdo estático, estou recebendo o erro 403 Forbidden.
Passei por vários fóruns e outros sites para encontrar uma resposta ou solução para esse problema, infelizmente nada parece funcionar para mim! :(
Por favor, alguém pode me ajudar com isso? um pouco de explicação seria uma adição bem-vinda.
A seguir está minha definição de host virtual no arquivo 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>
Sua ajuda será muito apreciada.
PS: eu estava acompanhando issoLinkdepois de tentar várias outras instruções desse tipo.
Responder1
Finalmente eu descobri sozinho. Mod-Jk possui diretivas JkMount e JkUnMount para realizar o redirecionamento de conteúdo.
<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/*
redireciona todas as solicitações do Apache para o aplicativo web jboss SchoolApp (aqui:http://localhost.com:8080/SchoolApp/); desde que o usei,
JkUnMount /SchoolApp/*jpg loadbalancer
não redirecionará nenhuma solicitação dejpgarquivos para o jboss, em vez disso, ele procurará SchoolApp/
a pasta "D:\Dev-Ops\apache\Apache2\htdocs"
e exibirá imagens a partir daí. Tenho uma estrutura de diretório adequada que imita a estrutura de diretório do arquivo jpg que solicitei do aplicativo da web Jboss.
por exemplo, se eu solicitarhttp://localhost.com/SchoolApp/, mod-jk redireciona a solicitação parahttp://localhost.com:8080/SchoolApp/no entanto; se eu solicitarhttp://localhost.com/SchoolApp/welcome.jpg, esta solicitação não será redirecionada para ohttp://localhost.com:8080/SchoolApp/welcome.jpgmesmo que exista tal arquivo no aplicativo jboss, ele procurará por welcome.jpg na pasta htdocs/SchoolApp/ no apache e se Welcome.jpg existir lá, ele servirá o arquivo a partir daí.
Espero que isso explique tudo.