HTTP报错状态码及原因
HTTP报错的状态码的原因
一、400错误。
说明服务器无法理解用户的请求,除非进行修改,不然你按再多刷新也没有用。很有可能的情况是,你不小心输入错误了,导致服务器根本不知道你要表达什么。
认真检查有没有错误输入。
二、401错误
1.首先从你的站点的 IP 名称 ( 即您站点的网址-URL, 不带起始的 ‘http://’) 获得一个 IP 地址。这是由DNS来解析的;
2.接着, 打开一个 IP 套接字 (socket) 连接到该 IP 地址。
3.通过该套接字写 HTTP 数据流。
4.从您的Web服务器接受响应的 HTTP 数据流。该数据流包括状态编码, 其值取决于 HTTP 协议 。 解析该数据流得到 状态编码和其他有用信息。
情况一 : 有防御性的安全策略
简单来说就是, 来自一个知名浏览器的 HTTP 通讯是允许的, 但来自其他系统的自动通讯则被拒绝, 并生成 401 错误代码。这是一种异常情况, 但是也许表明您的 Web 服务器周围 采取了非常具有防御性的安全策略。
情况二: 密码,账户名错误
三、402错误。
402错误是HTTP状态码的一种,表示“要求付费”;所求的服务需要付费才能执行时就回返回此错误。
四、403错误。
出现403是因为服务器拒绝了你的地址请求,很有可能是你根本就没权限访问网站,就算你提供了身份验证也没用。讲真,很有可能是你被禁止访问了。
除非你与Web服务器管理员联系,否则一旦遇到403状态码都无法自行解决。
五、404错误。
404其实在日常生活中很常见了。代码的意思是找不到要查询的页面。非常有可能是网页被删除了。
六、405错误。
资源被禁止,有可能是文件目录权限不够导致的。这个时候其实,只要赋予“完全控制”的权限,也是可以解决的
七、408错误。
遇到408意味着你的请求发送到该网站花的时间比该网站的服务器准备等待的时间要长,即链接超时。
八、500错误。
500错误的出现原因是很多的,但是你要知道,500错误是服务器内部错误,而且一般程序上是ASP错误为多的,可能是你的用户权限的问题导致,或者是数据库连接出现了错误,那么要好好检查下服务器语句错误问题。
九、501错误。
服务器501错误是服务器还是不具有请求功能的,而且501错误原因是没有实施的,可以用来HttpWebRequest指定一个UserAgent来试试的,有时候你可以换电脑来测试一下的。
十、502错误。
这是服务器上的一个错误网关 ,因此说它是无效的,我们在出现了服务器502错误问题的时候,最好是先清除下缓存或者是在服务器上进行刷新试试的,因为502错误牵扯的问题也是很多的,最好是让程序们来去在服务器上下文章。
Nginx 502错误情况1:
网站的访问量大,而php-cgi的进程数偏少。
针对这种情况的502错误,只需增加php-cgi的进程数。具体就是修改/usr/local/php/etc/php-fpm.conf 文件,将其中的max_children值适当增加。这个数据要依据你的VPS或独立服务器的配置进行设置。一般一个php-cgi进程占20M内存,你可以自己计算下,适量增多。
/usr/local/php/sbin/php-fpm restart 然后重启一下.
Nginx 502错误情况2:
CPU占用率、内存占用率非常高,遭到CC攻击.
Nginx 502错误情况3:
CPU占用率不高,内存溢出。
检查一下网站程序有没有问题?一般小偷站点常常会出现内存溢出。
检查一下/var/log/目录下的日志,看看是不是有人爆破SSH和FTP端口?
SSH、FTP遭到穷举也会占用大量内存。是的话改掉SSH端口和FTP端口即可
将网上找到的一些和502 Bad Gateway错误有关的问题和排查方法列一下,先从FastCGI配置入手:
1.查看FastCGI进程是否已经启动
NGINX 502错误的含义是sock、端口没被监听造成的。我们先检查fastcgi是否在运行
2.检查系统Fastcgi进程运行情况
除了第一种情况,fastcgi进程数不够用、php执行时间长、或者是php-cgi进程死掉也可能造成nginx的502错误
运行以下命令判断是否接近FastCGI进程,如果fastcgi进程数接近配置文件中设置的数值,表明worker进程数设置太少
netstat -anpo | grep "php-cgi" | wc -l
3.FastCGI执行时间过长
根据实际情况调高以下参数值
fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300;
4.头部太大
nginx和apache一样,有前端缓冲限制,可以调整缓冲参数
fastcgi_buffer_size 32k; fastcgi_buffers 8 32k;
如果你使用的是nginx的负载均衡Proxying,调整
proxy_buffer_size 16k; proxy_buffers 4 16k;
5.https转发配置错误
正确的配置方法
server_name www.111cn.net; location /myproj/repos { set $fixed_destination $http_destination; if ( $http_destination ~* ^https(.*)$ ) { set $fixed_destination http$1; } proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Destination $fixed_destination; proxy_pass http://subversion_hosts; }
十一、503错误。
服务不可用是的一种状态,那么在服务器503错误出现了之后,大家不必担心的, 服务器或许就是正在维护或者暂停了,你可以联系一下服务器空间商。还有的时候cpu占用的频率大导致的。
十二、504错误。
这是代表着网关超时是现象出现了。504错误问题是一个不好办的问题,当然你必须尝试着和网站官方获得联系,认真的去检查不同的电脑之间的ip传输的状况。
十三、505错误。
http的版本是不受支持的,一般的情况下浏览器的默认都是1.x 的版本的, 如果出现了HTTP 1.1版本的,那么你需要在Internet 选项的高级下进行设置的。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)