我是Apache服务器的新手(2.0,我知道它有点太旧,但是我的工作场所要求我学习它,因为它是我们正在使用的版本),现在试图使Apache与Jboss(Jboss应用程序服务器,Apache面向JBoss并提供所有静态内容)。
我已经通过mod_jk与Apache的Jboss合作; 然而,当我试图添加虚拟主机configuration来让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指令来完成内容redirect。
<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的所有请求redirect到jboss Web应用程序SchoolApp(这里是: http ://localhost.com: JkMount /SchoolApp/* ); 自从我用过了
JkUnMount /SchoolApp/*jpg loadbalancer不会将任何对jpg文件的请求redirect到jboss,而是会在"D:\Dev-Ops\apache\Apache2\htdocs"下findSchoolApp/文件夹并从那里提供图片在那里有一个适当的目录结构,模仿我从Jboss Web应用程序请求的jpg文件的目录结构。
例如,如果我请求http://localhost.com/SchoolApp/ ,则mod-jk会将请求redirect到http://localhost.com:8080/SchoolApp/ ; 如果我请求http://localhost.com/SchoolApp/welcome.jpg ,这个请求将不会被redirect到http://localhost.com:8080/SchoolApp/welcome.jpg,即使有这样一个文件jboss应用程序,而是在apache的htdocs / SchoolApp /文件夹下寻找welcome.jpg,如果welcome.jpg存在,它将从那里提供文件。
我希望这可以解释它。