Cómo evitar el error 403 prohibido: problema de configuración del host virtual Apache

Cómo evitar el error 403 prohibido: problema de configuración del host virtual Apache

Soy bastante novato en el servidor Apache (2.0, sé que es un poco antiguo, sin embargo, mi lugar de trabajo exige que lo aprenda ya que es la versión que estamos usando) y ahora estoy tratando de que Apache funcione con Jboss (Jboss como el servidor de aplicaciones, Apache al frente de JBoss y sirviendo todo el contenido estático).

Tengo Apache trabajando con Jboss con la ayuda de mod_jk; sin embargo, cuando intento agregar una configuración de host virtual para que Apache proporcione imágenes desde una carpeta específica en lugar de presionar a JBoss para que proporcione contenido estático, aparece el error 403 Prohibido.

Revisé varios foros y otros sitios web para encontrar una respuesta o solución a este problema, ¡lamentablemente nada parece funcionar para mí! :(

¿Alguien puede ayudarme con esto? un poco de explicación sería una buena adición.

La siguiente es mi definición de host virtual en el archivo 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>

Su ayuda será muy apreciada.

PD: estaba siguiendo estoEnlacedespués de probar varias otras instrucciones similares.

Respuesta1

Finalmente lo descubrí yo mismo. Mod-Jk tiene directivas JkMount y JkUnMount para realizar la redirección de contenido.

<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/*redirige todas las solicitudes de Apache a la aplicación web jboss SchoolApp (aquí:http://localhost.com:8080/SchoolApp/); desde que lo he usado
JkUnMount /SchoolApp/*jpg loadbalancerno redirigirá ninguna solicitud dejpgarchivos a jboss, en su lugar buscará SchoolApp/la carpeta debajo "D:\Dev-Ops\apache\Apache2\htdocs"y servirá imágenes desde allí, tengo una estructura de directorio adecuada debajo que imita la estructura de directorio para el archivo jpg que solicité desde la aplicación web Jboss.

por ejemplo, si solicitohttp://localhost.com/SchoolApp/, mod-jk redirige la solicitud ahttp://localhost.com:8080/SchoolApp/sin embargo; si solicitohttp://localhost.com/SchoolApp/welcome.jpg, esta solicitud no será redirigida alhttp://localhost.com:8080/SchoolApp/welcome.jpgincluso si existe un archivo de este tipo en la aplicación jboss, buscará bienvenido.jpg en la carpeta htdocs/SchoolApp/ en Apache y si existe bienvenido.jpg allí, entregará el archivo desde allí.

Espero que esto lo explique.

información relacionada