我在CentOS上使用Apache(httpd),并在Tomcat6上部署了我的Java / Struts Web应用程序。
我使用Mod_JK将Apache与Tomcat之间的请求转发给Tomcat。
为了使这项工作在SSL上,我遵循这个stackflow的问题来设置httpd.conf,mod_jk.conf。
当我使用HTTP调用它时,这对于相同的Web应用程序来说工作正常。
但是,通过HTTPS我得到403错误。 当我查看日志时,我发现下面的input
Options指令禁止的目录索引:/ var / lib / tomcat6 / webapps / myapp /,referer:
https://my domain IP
我尝试像下面的httpd.conf中设置目录,但得到相同的错误
<Directory "/var/lib/tomcat6/webapps/<myapp>"> Options +Indexes FollowSymLinks +ExecCGI AllowOverride AuthConfig FileInfo Order allow,deny Allow from all </Directory>
请注意,我还没有对Tomcat的Server.xml进行任何更改。
任何帮助。
编辑:
我创build了虚拟index.html,并将其保存在我的应用程序根文件夹中。
然后我通过HTTPS从networking浏览器请求了相同的URL,猜猜看是什么?
我能够看到我的index.html。 但是,HTTP正在以正确的方式工作。
现在谁能告诉我如何指导Apache不search任何index.html,而是直接将请求转发给tomcat。
编辑2:当我试图改变目录选项“索引FollowSymLinks包括ExecCGI”,它开始显示目录列表。
HTTPD的 conf.d文件夹中存在ssl.conf文件。 你也看过那个文件吗?
这个文件(如果有的话)的优先级高于在httpd.conf文件中写入的文件的优先级。
请查看您是否已经为该文件提供了虚拟主机设置,或者是否在该文件中写入了错误的设置。 你也可以通过评论你在httpd.conf文件中出现的虚拟主机来检查403错误是否还在。 如果是这样的话,确保Apache确实从其他文件加载设置。 如果404错误即将到来,那么可能还有其他一些设置。