我有一个使用 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 注释填充响应即可 - 因此用户实际上看不到它。