• 常见服务器返回码解决方案


    一、200

    定义:服务器已成功处理了请求;
    解决:此返回码是访问成功的表现,不需解决。

    二、301

    定义:请求的网页已被永久重定向到新地址。
    解决:
    1、一般301设置,会在网页头部代码有所表现,代码类似:header('HTTP/1.1 301 Moved 
    Permanently');,只要在所有被重定向的网页上删除即可。
    2、linux的虚拟主机Apache的服务器,并且支持.htaccess 这个文件,很多时候301都会写在里面,删除即可。如:
    Options +FollowSymlinks
    RewriteEngine on
    rewritecond %{http_host} ^baidu.com [nc]
    rewriterule ^(.*)$ http://www.baidu.com/$1 [r=301,nc]
    3、window的虚拟主机IIS的服务器,在httpd.ini文件里删除类似以下的代码
    RewriteCond Host:^AAA.com$
    RewriteRule (.*) http://www.AAA.com$1 [R,I]

    三、400

    定义:你访问的页面域名不存在或者请求错误;
    解决:
    主要有两种形式:
    1、bad request意思是“错误的请求";
    2、invalid hostname意思是"不存在的域名”。
    首先先Ping一下域名,看看是否解析到空间所在的IP,如果是,再去空间的管理面板看有没有绑定你的域名了,如果有,就可以肯定是空间提供商的问题了,解决这个问题就只能找空间提供商绑定你的域名了,如果自己有这个权限自己绑定域名就可以解决问题。

    四、403

    定义:资源不可用,网站访问过程中,常见的错误提示。通常由于服务器上文件或目录的权限设置导致的WEB访问错误。
    解决
    1、重建dns缓存
    对于一些常规的403 forbidden错误,马海祥建议大家首先要尝试的就是重建dns缓存,在运行中输入cmd,然后输入ipconfig /flushdns即可。如果不行的话,就需要在hosts文件里把主页解析一下了。
    同时,查看是否在网站虚拟目录中添加默认文档,一般默认文档为:index.html;index.asp;index.php;index.jsp;default.htm;default.asp等。
     
    2、修改文件夹安全属性
    用以下命令修改文件夹安全属性
    chcon -R -t httpd_user_content_t public_html/
    所用命令解析:
    ls -Z -d public_html/
      #显示文件/目录的安全语境-Z, --context
      Display  security context so it fits on most displays.  Displays only mode, user, group, security context and file name.-d, --directory
      list directory entries instead of contents, and do not dereference symbolic links
      chcon -R -t httpd_user_content_t public_html/
      #修改文件/目录的安全语境-R, --recursive
      change files and directories recursively-t, --type
    set type TYPE in the target security context
     
    3、关于apache导致的403 forbidden错误的解决办法
    打开apache的配置文件httpd.conf,找到这段代码:
    Options FollowSymLinks
      AllowOverride None
      Order deny,allow
      Deny from all
    有时候由于配置了php后,这里的“Deny from all”已经拒绝了一切连接。把该行改成“allow from all”,修改后的代码如下,问题解决。
    Options FollowSymLinks
      AllowOverride None
      Order deny,allow
      Allow from all
    之所以会出现错误,是因为大多数的国外主机在配置Apache的时候启用了mod_security,也就是开启了安全检查,如果提交的信息中包含select , % , bin等关键字,Apache就会禁止,并给出403,404,500等错误。

    五、404

    404错误页面
     
    定义:错误页面或不存在页面,服务器无法找到请求的网页。
    解决
    1、找回被删除的页面,并恢复原来的链接;
    2、设置404错误页面,引导用户访问网站其他内容;

    六、500

    含义:内部服务器错误,服务器遇到错误,无法完成请求;
    解决
    1、.htaccess代码的问题。可以修改.htaccess文件的文件名试试能否访问,如果问题解决在逐行查看.htaccess文件是否有语法错误。  
    2、文件权限问题。 查看文件权限是否为755若不是手动修改权限。 

    七、502

    含义:服务器作为网关或者代理时,为了完成请求访问下一个服务器,但该服务器返回了非法的应答。
    解决:
     
    1:php-cgi进程数不够用
    vim  php-fpm.conf
      修改其中的2个参数,如下:
    (1)在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加,这个数值是不确定的,需要我们自己算的,这个值原则上是越大越好,php-cgi的进程多了就会处理的很快,排队的请求就会很少,减小出现502错误的机率。
     
        一般来说,一台服务器的正常情况下每一个php-cgi要耗费的内存为20M左右。如果我就将此值设为80,那么也就是说大概要耗费服务器1600M内存。
     
        查看一下当前系统中有多少个php-cgi进程在运行:
            netstat  -anpo  |  grep  php-cgi  |  wc -l      
    如果这个值接近你的在配置文件里面设置的值,说明需要增加。
    注:这要根据机器的实际情况而定,每个机器的硬件设施和环境不一样。
    参数为:<value name=”max_children”>80<alue>
     
    (2)另外一个参数就是php-cgi脚本的执行时间  
    <value name=”request_terminate_timeout”>0s<alue>这里写0s的意思是让php-cgi一直执行下去,没有时间限制。
     
    注意:如果你做不到这一点,也就 是说你的PHP-CGI可能出现某个BUG,或者你的宽带不够充足或者其他的原因导致你的PHP-CGI假死那么就建议你给 request_terminate_timeout赋一个值,这个值可以根据服务器的性能进行设定。一般来说性能越好你可以设置越高,20分钟-30分 钟都可以。
    修改完这两个参数,重启一下php-cgi,看是否还出现502错误。
     
    2: php执行时间长
    php执行超时,修改/usr/local/php/etc/php.ini 将max_execution_time 改为300
    重启一下php-cgi,看是否还出现502错误。
     
    3: php-cgi进程死掉
    杀死其进程,重启php-cgi。

    八、503

    含义:服务器由于维护或者负载过重未能应答。例如,Servlet可能在数据库连接池已满的情况下返回503。服务器返回503时可以提供一个 Retry-After头。
    出现503有两个原因:
    1、该站点正在被攻击。
    2、程序占用线程过多,导致把所有线程全部填满。
    解决:
    1.验证是否已为虚拟服务器配置应用程序池。默认应用程序池是MSSharePointPortalAppPool。
    请按照下列步骤来确定虚拟服务器正在使用的应用程序池。
    a.单击“开始”,指向“管理工具”,然后单击“Internet信息服务(IIS)管理器”。
    b.展开“ServerName”,展开“Web站点”,右键单击虚拟服务器,然后单击“属性”。
    c.单击“主目录”选项卡。为虚拟服务器配置的应用程序池列在“应用程序池”框中。
    d.单击“确定”。
    2、验证应用程序池帐户使用的密码是否正确。IIS不会自动轮询ActiveDirectory目录服务中的密码更改。如果应用程序池帐户是一个域帐户,其密码已过期,则在为此帐户重新指定一个新密码后,您可能会收到本文“症状”部分所描述的错误信息。
    3、验证应用程序池帐户是服务器上的IIS_WPG组和STS_WPG组的成员。
    4、重新启动IIS以回收应用程序池。

    九、504

    含义:504错误是(网关超时) 服务器作为网关或代理,但是没有及时从上游服务器收到请求。正常情况下,是由于被请求服务器发送超时引起。
    解决:这个问题完全是由后端电脑之间 IP 通讯缓慢而产生,可能包括您的 Web 服务器。 检查在其控制下的不同电脑之间的 IP 数据传输的流通状况。 然而,这个错误不易解决, 由于互联网流通的无规律性,这种类型的错误是瞬态的。
    原创文章,作者:巨策网络   常见服务器返回码解决方案 http://www.cqjuce.comhttp://www.cqjuce.com/seo_news/58.html
  • 相关阅读:
    Gson简要使用笔记
    (一)微信开发环境搭建
    Hibernate 注解 字段不映射的注解
    Hibernate 使用注解后没发现建表
    Hibernate 注意命名与数据库关键字的冲突 处理方法
    struts2不能通过ONGL方式取出request中的Atrribute
    Android 两个Activity进行数据传送 发送
    Android 设置隐式意图
    Android 隐式意图 让用户选择一个浏览器访问网址
    Android 判断是否联网 是否打开上网
  • 原文地址:https://www.cnblogs.com/zuola/p/7461844.html
Copyright © 2020-2023  润新知