从Apache服务器向Tomcat转发SSL请求时出现403(禁止)错误

时间:2014-01-23 13:00:15

标签: apache tomcat ssl mod-jk

我在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”时,它开始显示目录列表。

1 个答案:

答案 0 :(得分:1)

HTTPD conf.d 文件夹中存在 ssl.conf 文件。你也见过那个文件吗? 此文件(如果存在)的优先级高于 httpd.conf 文件中的文件 请查看您是否为该文件提供了虚拟主机设置,或者是否在该文件中写入了错误的设置。您还可以通过评论 httpd.conf 文件中存在的虚拟主机进行检查,并检查 403 错误是否仍然存在。如果是这种情况,请确保Apache正在从其他文件加载设置。如果出现 404 错误,则可能还有其他一些事情需要设置。