【问题标题】:Apache custom error handling creating secure connectionApache 自定义错误处理创建安全连接
【发布时间】:2011-06-09 20:13:53
【问题描述】:
如果不是标准的 http 错误,我如何将错误重定向到自定义错误页面?
示例:
我已经使用 ssl 配置了 apache,以通过客户端身份验证的 https 访问网站(服务器和客户端具有由 CA 签名的证书)。如果客户端没有证书,我会从 ssl 收到标准错误消息:
安全连接失败错误
代码:ssl_error_handshake_failure_alert
但我需要将此错误重定向到我的自定义错误页面。
【问题讨论】:
标签:
apache
error-handling
【解决方案1】:
你不能轻易做到。
SSL 错误发生在 TCP 级别,这意味着连接没有达到 Apache 的标准错误处理可以处理并重定向到自定义错误页面的程度。
有一个名为 mod_ssl_error (http://marcstern.tripod.com/mod_ssl_error/) 的旧 Apache 模块可以完全满足您的需求,但它需要您修补并重新编译 mod_ssl。
另一种选择是设置两个站点,一个带有 SSLVerifyClient 可选,另一个带有 SSLVerifyClient 要求 (http://www.modssl.org/docs/2.1/ssl_reference.html#ToC13)。将您的用户引导到第一个站点,如果可选连接有效,则将他们转发到第二个站点。否则显示错误消息。这不会帮助您找出连接失败的原因,但它会让您知道出现问题。
有关此问题的更多详细信息,请参阅https://issues.apache.org/bugzilla/show_bug.cgi?id=35083。