常见Http错误状态码及其解决方案

1.什么是http状态码

http状态码是用来表示web服务器响应http请求状态的的数字代码。每当web客户端向服务器发送一个http请求时,web服务器都会返回一个状态响应代码。这个状态码是一个3位数字代码,作用是告知web客户端此次的请求是否成功,或是采取其他的动作方式。

2.状态码范围

状态码范围

作用描述

100-199

指定客户端相应的某些动作

200-299

表示请求成功

300-399

已经移动的文件且被包含在定位透信息中指定的新的地址信息

400-499

指出客户端的错误

500-599

指出服务器的错误

3.常见错误代码原因和解决方案

401-unauthorized

原因:您的web服务器开启了密码验证,客户端在请求的时候需要填入用户名和密码,只有输入正确的用户名和密码才能正常访问。

解决:输入正确的用户名和密码;关闭web服务器的密码验证功能。

403-Forbidden:

原因:禁止访问,请求是合法的,但是却因为服务器配置规则而拒绝响应客户端请求,此类问题一般为服务器或服务权限配置不当导致。

解决:确保主页文件存在,如index.php或index.html;确保web服务器运行用户和站点的目录权限一致,比如你的nginx运行用户为www,你需要确保你的站点目录的所有者为www。

404-Not Found

原因:服务器找不到客户端请求的指定页面,可能是请求了一个服务器上不存在的资源导致的,也有可能是服务器上的该文件被删除。

解决:确保输入的是正确的url;确保你请求的文件在服务器上是真实存在的;如果你的云服务器配置了数据盘,且站点目录在数据盘中,这时候你需要检查数据盘是否被正确挂载或者是否到期被释放掉了。

500-Internal Server Error

原因:内部服务器错误,服务器遇到了意料不到的错误,不能完成客户的请求。一般为服务器的配置或内部程序的问题

解决:此时可能是服务器资源占用过高,你需要查看一下服务器占用率,必要时清理内存或者重启服务器;文件权限问题,确保你的服务器程序文件权限为755;检查基础服务是否运行,如果您用的是LNMP架构,则需要检查php-fpm和mysql是否正常运行。

502-Bad Gateway

原因:坏的网关,一般是服务器作为代理服务器请求后端的服务器时,后端的服务不可用或没有完成响应给网关服务器,一般为反向代理服务器后端的服务器节点出现故障。

解决:检查代理服务器后端的服务器是否正常运行,以及后端服务器上的服务是否正常运行。

503-Service Unavailable

原因:服务当前不可用,可能是因为服务器超载或停机维护导致,或者是反向代理服务器后面没有可以提供服务的节点。

解决:服务器共供应商可能正在维护或者暂停服务,你可以联系一下服务器供应商;还有可能就是服务器的cpu或内存占用过高,需要清理一下资源,必要时重启服务器。

504-Gateway Timeout

原因:网关超时,一般是网关代理服务器请求后端服务器或者cdn请求源站服务器时,服务器没有在特定的时间处理并相应请求,一般为服务器过载,没有在指定时间返回服数据。

解决:对服务器性能参数进行相关调整,包括php参数调整,数据库参数调整,web服务器参数调整;必要时可以选择升级服务器配置。