Como evitar o erro 403 proibido: problema de configuração do host virtual Apache

Como evitar o erro 403 proibido: problema de configuração do host virtual Apache

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 loadbalancernã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.

informação relacionada