Apache 为 Firefox 提供的自定义 401 错误页面未通过 IE 或 Chrome Kerberos 授权

Apache 为 Firefox 提供的自定义 401 错误页面未通过 IE 或 Chrome Kerberos 授权

我有一个使用 Kerberos 身份验证的 Intranet 站点。当用户无权访问时,我遇到了问题

在 Firefox 中,.htaccess 中设置的 ErrorDocument 401 可以正常工作,但在 IE/EDGE/CHROME 中会出现浏览器错误(见下文)

铬合金:

无法访问此网站

网页位于http://我的网站/可能暂时无法使用,或者可能已永久移动到新的网址。ERR_INVALID_RESPONSE

IE/边缘:

无法访问此页面

•确保网址http://我的网站/是正确的 •在 Bing 上搜索此网站 •刷新页面

更多信息 更多信息

与网站的连接已重置。

错误代码:INET_E_DOWNLOAD_FAILURE


.htaccess

    AuthType Kerberos
AuthName "Staff Intranet"
KrbAuthRealms DOMAIN.LOCAL
KrbServiceName HTTP
Krb5Keytab /etc/kerberos.keytab
KrbMethodNegotiate On
KrbSaveCredentials On
KrbMethodK5Passwd On
KrbAuthoritative off
KrbVerifyKDC off
KrbLocalUserMapping On

AuthLDAPURL "ldap://DOMAINCONTROLLER/DC=DOMAIN,DC=local?sAMAccountName"
AuthLDAPBindDN "CN=IntranetSites,OU=Non-staff,OU=Users,DC=DOMAIN,DC=local"
AuthLDAPBindPassword "PASSWORD"
Require ldap-user user1
Require ldap-user user2
ErrorDocument 401 "<html><meta http-equiv=\"refresh\" content=\"0;url=/index.php?App=Intranet&Access=Denied\"></html>"

/var/log/apache2/error.log

无论我使用什么浏览器,都会记录相同的错误。

 [Sun Aug 06 23:41:39.848945 2017] [authz_core:error] [pid 6471] [client 192.168.31.250:64258] AH01631: user user3 : authorization failure for "/protectedfolder/": , referer: http://mysite/

我也关闭了 Internet Explorer 中的友好错误页面,但仍然出现相同的错误。

提前感谢你的帮助

答案1

如果您从服务器发送的响应/错误文档太小,有时会发生这种情况。任何低于一定字节数的内容,浏览器都可能会显示其自己的错误消息。(当然,这是假设浏览器内显示“友好”错误消息的设置已被禁用。)

过去,这是 Internet Explorer 的一个经典“问题”。但其他浏览器也会发生类似的事情。

解决方案是发送更大的响应。在 IE 中,只需用较大的 HTML 注释填充响应即可 - 因此用户实际上看不到它。

相关内容