一尘不染

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

tomcat

我在CentOS上使用Apache(httpd),并在Tomcat6上部署了Java / Struts Web应用程序。
我正在使用Mod_JK在Apache之间将请求转发到Tomcat。为了使此功能在SSL上有效,我遵循此堆栈流问题进行设置httpd.conf,mod_jk.conf。 当我使用HTTP调用同一Web应用程序时,此方法工作正常。
但是,通过HTTPS,我收到403错误。当我查看日志时,我发现以下条目

Options指令禁止的目录索引:/ var / lib / tomcat6 / webapps / myapp /,引用者: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进行任何更改。
任何帮助。

编辑:
我创建了虚拟index.html并将其保留在我的应用程序根文件夹中。
然后我通过HTTPS从Web浏览器请求了相同的URL,你猜怎么着?
我可以看到我的index.html。但是,HTTP以正确的方式工作。
现在,谁能告诉我如何指导apache不要搜索任何 index.html, 而是将请求直接转发给tomcat。

编辑2: 当我尝试将目录选项更改为“索引FollowSymLinks包括ExecCGI”时,它开始显示目录列表。


阅读 581

收藏
2020-06-16

共1个答案

一尘不染

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

2020-06-16