我在CentOS上使用Apache(httpd)并在Tomcat6上部署了我的Java / Struts Web应用程序。
我正在使用Mod_JK在Apache和Tomcat之间转发请求
为了使这项工作在SSL上我按照this stackflow question进行设置httpd.conf,mod_jk.conf。
当我使用HTTP调用它时,这对于相同的Web应用程序工作正常
但是,通过HTTPS我收到403错误。当我查看我在条目后找到的日志
Options指令禁止的目录索引:/ var / lib / tomcat6 / webapps / myapp /,referer:
https://my domain IP
我尝试在httpd.conf中设置Directory,如下所示,但得到相同的错误
<Directory "/var/lib/tomcat6/webapps/<myapp>">
Options +Indexes FollowSymLinks +ExecCGI
AllowOverride AuthConfig FileInfo
Order allow,deny
Allow from all
</Directory>
请注意我尚未对Tomcat的Server.xml进行任何更改。
任何帮助。
修改
我创建了虚拟index.html并将其保存在我的应用程序根文件夹中
然后我通过HTTPS从网络浏览器请求相同的URL,猜猜是什么?
我能够看到我的index.html。但是,HTTP正在以正确的方式工作
现在有人能告诉我如何指导apache不要搜索任何 index.html ,而是直接将请求转发给tomcat。
修改-2: 当我尝试将目录选项更改为“索引FollowSymLinks包含ExecCGI”时,它开始显示目录列表。
答案 0 :(得分:1)
HTTPD 的 conf.d 文件夹中存在 ssl.conf 文件。你也见过那个文件吗? 此文件(如果存在)的优先级高于 httpd.conf 文件中的文件 请查看您是否为该文件提供了虚拟主机设置,或者是否在该文件中写入了错误的设置。您还可以通过评论 httpd.conf 文件中存在的虚拟主机进行检查,并检查 403 错误是否仍然存在。如果是这种情况,请确保Apache正在从其他文件加载设置。如果出现 404 错误,则可能还有其他一些事情需要设置。