Http 403错误原因及解决办法

问题介绍

403是Web服务器返回的一种非常常见的错误代码,Http协议中对403错误定义如下,

403 Forbidden
The server understood the request, but is refusing to fulfill it. Authorization will not help and the request SHOULD NOT be repeated. If the request method was not HEAD and the server wishes to make public why the request has not been fulfilled, it SHOULD describe the reason for the refusal in the entity. If the server does not wish to make this information available to the client, the status code 404 (Not Found) can be used instead.

而在IIS中根据具体的功能对403错误通过子错误代码的形式进行了更详细的分类。

IIS 7.0 defines the following HTTP status codes that indicate a more specific cause of a 403 error:

403.1 - Execute access forbidden.
403.2 - Read access forbidden.
403.3 - Write access forbidden.
403.4 - SSL required.
403.5 - SSL 128 required.
403.6 - IP address rejected.
403.7 - Client certificate required.
403.8 - Site access denied.
403.9 - Forbidden: Too many clients are trying to connect to the Web server.
403.10 - Forbidden: Web server is configured to deny Execute access.
403.11 - Forbidden: Password has been changed.
403.12 - Mapper denied access.
403.13 - Client certificate revoked.
403.14 - Directory listing denied.
403.15 - Forbidden: Client access licenses have exceeded limits on the Web server.
403.16 - Client certificate is untrusted or invalid.
403.17 - Client certificate has expired or is not yet valid.
403.18 - Cannot execute requested URL in the current application pool.
403.19 - Cannot execute CGI applications for the client in this application pool.
403.20 - Forbidden: Passport logon failed.
403.21 - Forbidden: Source access denied.
403.22 - Forbidden: Infinite depth is denied.
403.502 - Forbidden: Too many requests from the same client IP; Dynamic IP Restriction limit reached.

这篇文章通过实验来重现一些常见的403错误,希望能够更加形象的演示各种错误发生的原因,并介绍相应问题的解决方法。

[403.1 403.3]

造成403.1 - 403.3的主要原因是由于handler需要的权限受到Handler Mapping中启用的权限的限制。

如何查看handler需要的权限?可以通过IIS Manager - Handler Mapping,根据请求的扩展名找到相应的Handler,比如我们请求.asp文件的时候报错403.3,找到处理.asp文件的handler为ASPClassic这个handler,双击打开这个handler的Script Map - Request Restrictions - Access,可以查看该handler需要的权限。在这里为了重现403.3问题,我将需要权限设置为write。

如何查看Handler Mapping启用的权限?可以通过IIS Manager - Configuration Editor打开system.webServer/handlers@accesspolicy配置节点如下,可以看到Write选项没有被选中,所以在访问asp页面的时候会出现403.3错误。另外在handler mapping中也可以看到相应的ASPClassic handler对应的状态为disabled。

403.1, 403.2的错误原因与403.3是一致的,即相应handler需要的的Script或者Read权限没有启用。

[403.4 403.5 403.7]

403.4, 403.5, 403.7均是由于SSL设置造成的,本身大多数时候并非服务器端错误,而是客户端的请求没有满足服务端的要求。例如

403.4是指客户端发送了一个http请求到一个配置了需要SSL的网站

403.5是指客户端发送的请求没有满足服务器对于SSL的加密位数要求

403.7是指客户端没有提供相应的证书

这些配置可以通过服务器端IIS Manager - SSL Setting中来配置,

但是对于ssl的128位数要求需要通过Configuration Editor来找到system.webServer/security/access@sslFlags来配置

对于403.7错误有一个值得注意的地方,服务器如果配置了需要客户端证书,客户端正常情况下会弹出证书选择框来给用户选择用哪个证书发送给服务器。如果客户端在只有一张证书的情况下不会弹选择框而直接发送给服务器。如果遇到了403.7错误,很可能是因为客户端没有找到一个可用的证书。

这里所谓的可用证书的根据服务器返回的信任列表来定义的,根据SSL协议,服务器会在SSL握手的时候返回一组服务器信任的根证书给客户端,客户端查找是否存在相应的用户证书链接自这些根证书,然后弹出选择框。所以如果这里没有找到客户端证书的话,要先确定客户端是否有相应的证书,如果没有则需要安装,如果证书存在,那么要检查其相应的根证书是否在服务器端的信任列表中。

[403.14]

403.14非常常见,而且原因也很简单,就是目录不允许被浏览。

解决方法要根据实际需求来看,

1. 如果客户请求的问题,即浏览了不该浏览的目录,那服务器不需要任何更改

2. 如果浏览的目录期待的结果应该是一个默认网页,很有可能是default document没有配好或者不在目录下

3. 如果需要启用目录浏览,则到IIS Manager到指定的目录 - Directory Browsing - Enable

[403.6 403.8]

这两种错误与服务器配置相关,服务器在ipSecurity配置中阻止了客户端相应的ip或者dns名字。具体的配置为system.webServer/security/ipSecurity

以上就是最常见的403错误以及相应的解决方法,如果遇到了一些比较少见的其他错误,可以参考这里查找具体的解决方案。

(0)

相关推荐

  • 网页证书错误原因与解决办法

    有时候打开一些网页总会遇到证书错误的提示,时不时的弹出IE提示“证书错误”,那么遇到此类证书错误是什么原因呢? 网页证书错误原因: ⒈)电脑中病毒导致网页证书错误 ⒉)IE浏览器安全级别设置过高导致网 ...

  • 宽带628错误原因及解决办法

    宽带628错误原因可能是由于用户在宽带连接属性中设置了"使用可扩展的身份验证协议(EAP)(E)",导致提示错误628.那么遇到这类问题该如何解决呢?接下来和大番薯官网一起来看下解 ...

  • 打印机测试错误 原因administrator解决办法

    首先你要保证该电脑能看到且能访问带打印机的那台电脑,如果不能,当然就添加不了打印机,如果是不能访问请参照下面方法设置,另外如果该电脑防火墙等级为高的话,也会阻止共享的(很多朋友装的防火墙因为从旧版本升 ...

  • 网站出现403 Forbidden 错误的原因和解决办法

    小编来和大家分享网站出现403 Forbidden 错误的原因和解决办法,希望对大家有所帮助. 操作方法 01 首先,打开控制面板,选择系统和安全.点击进入后,点击管理工具,进入管理工具界面. 02 ...

  • 在IE浏览器状态栏中显示"网页上有错误错误"的几个原因和解决办法

    在浏览网站时,多数网友都曾经碰到过这种情况,打开的网页下方IE浏览器状态栏中显示“网页上有错误”,虽然并不影响文字阅读,但有可能导致无法使用网页上的某些功能,本文将介绍网页上有错误的原因以及网页上有错 ...

  • Win7插入U盘提示“I/O设备错误”的原因及解决办法

    最近有Win7系统用户反映,U盘插入到电脑后,系统出现提示“由于I/O设备错误,无法运行此项请求”,这是什么原因呢?又该怎么解决呢?其实,会出现这样的情况是因为磁盘驱动器号错误导致的,我们只需重新为U ...

  • Win7系统开机提示"登录组件错误4,请重新启动电脑管家"的故障原因及解决办法

    不少用户平时都会安装一些安全软件来保护自己的电脑吧,但是有的安全软件未必能帮助到你,自己电脑开机的时候提示登录组件错误4,请重新启动电脑管家,要怎么解决这个问题呢?下面就让小编来告诉你. win7系统 ...

  • 无法登陆路由器管理设置界面的原因及解决办法图文详细介绍

    很多朋友高高兴兴把路由器买回家,也看了说明书。接好网线,输入额路由器管理地址。不管怎么输,也尝试换额几个浏览器还是无法登陆管理界面。那么路由器无法登陆管理界面怎么办呢?今天脚本之家小编就为大家全面的分 ...

  • 为什么网页打不开? 网页打不开的原因与解决办法小结

    下面分析下引起此种故障的原因及解决方法: 部分网站为什么网页打不开的故障可能是有时候由于域名重新解析过后,但在本机访问域名的时候还是指向原来的IP,这主要是因为本地dns缓存导致的,因为你在改域名解析 ...