将SSL请求从Apache服务器转发到Tomcat时出现403(禁止)错误
我在CentOS上使用Apache(httpd),并在Tomcat6上部署了Java/Struts web应用程序。将SSL请求从Apache服务器转发到Tomcat时出现403(禁止)错误,apache,tomcat,ssl,mod-jk,Apache,Tomcat,Ssl,Mod Jk,我在CentOS上使用Apache(httpd),并在Tomcat6上部署了Java/Struts web应用程序。 我使用Mod_JK在Apache和Tomcat之间转发请求。 为了在SSL上完成这项工作,我按照设置httpd.conf、mod_jk.conf进行了设置。 当我使用HTTP调用同一个web应用程序时,它可以正常工作。 然而,通过HTTPS我得到403错误。当我查看日志时,我发现以下条目 选项指令禁止的目录索引:/var/lib/tomcat6/webapps/myapp/,re
我使用Mod_JK在Apache和Tomcat之间转发请求。
为了在SSL上完成这项工作,我按照设置httpd.conf、mod_jk.conf进行了设置。
当我使用HTTP调用同一个web应用程序时,它可以正常工作。
然而,通过HTTPS我得到403错误。当我查看日志时,我发现以下条目 选项指令禁止的目录索引:/var/lib/tomcat6/webapps/myapp/,referer:
https://my 域IP
我尝试在httpd.conf中设置目录,如下所示,但得到相同的错误
<Directory "/var/lib/tomcat6/webapps/<myapp>">
Options +Indexes FollowSymLinks +ExecCGI
AllowOverride AuthConfig FileInfo
Order allow,deny
Allow from all
</Directory>
选项+索引后跟符号链接+执行CGI
AllowOverride AuthConfig文件信息
命令允许,拒绝
通融
请注意,我尚未对Tomcat的Server.xml进行任何更改。任何帮助 编辑:
我创建了dummy index.html并将其保存在我的应用程序根文件夹中。
然后我通过HTTPS从网络浏览器请求了相同的URL,猜猜怎么着?
我可以看到我的index.html。但是,HTTP的工作方式是正确的。
现在有谁能告诉我如何引导apache不搜索任何index.html,而是直接将请求转发给tomcat 编辑-2:
当我尝试将目录选项更改为“index FollowSymLinks Includes ExecCGI”时,它开始显示目录列表 在HTTPD的conf.d文件夹中存在ssl.conf文件。你也看到那个文件了吗?
此文件(如果存在)的优先级高于写入httpd.conf文件的优先级。
请查看您是否为该文件提供了虚拟主机设置,或者该文件中写入了错误的设置。您还可以通过注释httpd.conf文件中的虚拟主机进行检查,并检查403错误是否仍然存在。如果是这种情况,则可以确定Apache正在从其他文件加载设置。如果404错误即将发生,则可能需要设置其他内容。是。我看到了ssl.conf文件,但其中没有虚拟主机条目,这意味着它已被注释。是。我原以为ssl.conf文件中的虚拟主机设置被注释了,但实际上并没有。我还了解到,对于ssl,apache将ssl.conf文件优先于httpd.conf文件。我已经向ssl.conf的虚拟主机添加了JKMountCopy&JkMount属性,现在它可以工作了。谢谢