nginx配置worker_processes 1;events { worker_connections 1024;}http { include mime.types; default_type application/octet-stream; limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s; sendfile on; keepalive_timeout 65; server { listen 8070; server_name 10.96.79.14; limit_req zone=one; location / { root html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } location = /abc.html { root html; auth_basic “opened site”; auth_basic_user_file conf/htpasswd; } location ~ .php$ { root /home/xiaoju/nginx-1.14.0/html; fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME /home/xiaoju/nginx-1.14.0/html$fastcgi_script_name; include fastcgi.conf; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; } }}index.php <?phpecho “124”;4xx系列400NGX_HTTP_BAD_REQUESTHost头不合法 curl localhost:8070 -H ‘Host:123/com’<html><head><title>400 Bad Request</title></head><body bgcolor=“white”><center><h1>400 Bad Request</h1></center><hr><center>nginx/1.14.0</center></body></html> Content-Length头重复curl localhost:8070 -H ‘Content-Length:1’ -H ‘Content-Length:2’<html><head><title>400 Bad Request</title></head><body bgcolor=“white”><center><h1>400 Bad Request</h1></center><hr><center>nginx/1.14.0</center></body></html>401NGX_HTTP_UNAUTHORIZED参考如上nginx配置,访问abc.html需要认证 curl localhost:8070/abc.html<html><head><title>401 Authorization Required</title></head><body bgcolor=“white”><center><h1>401 Authorization Required</h1></center><hr><center>nginx/1.14.0</center></body></html>403NGX_HTTP_FORBIDDENchmod 222 index.html将index.html设置为不可读 curl localhost:8070<html><head><title>403 Forbidden</title></head><body bgcolor=“white”><center><h1>403 Forbidden</h1></center><hr><center>nginx/1.14.0</center></body></html>404NGX_HTTP_NOT_FOUNDcurl localhost:8070/cde.html<html><head><title>404 Not Found</title></head><body bgcolor=“white”><center><h1>404 Not Found</h1></center><hr><center>nginx/1.14.0</center></body></html>405NGX_HTTP_NOT_ALLOWED使用非GET/POST/HEAD方法访问一个静态文件curl -X DELETE localhost:8070/index.html -IHTTP/1.1 405 Not AllowedServer: nginx/1.14.0Date: Tue, 18 Sep 2018 10:02:22 GMTContent-Type: text/htmlContent-Length: 173Connection: keep-alive5xx系列500NGX_HTTP_INTERNAL_SERVER_ERROR修改index.php为<?phpecho “124” 缺少引号,语法错误curl localhost:8070/index.php -IHTTP/1.1 500 Internal Server ErrorServer: nginx/1.14.0Date: Tue, 18 Sep 2018 11:29:19 GMTContent-Type: text/html; charset=UTF-8Connection: keep-aliveSet-Cookie: PHPSESSID=aoesvcuvbh1nh95kdkp152r9e1; path=/Expires: Thu, 19 Nov 1981 08:52:00 GMTCache-Control: no-store, no-cache, must-revalidatePragma: no-cache501NGX_HTTP_NOT_IMPLEMENTEDnginx的transfer-encoding现在只支持chunked,如果客户端随意设置这个值,会报501 curl localhost:8070 -H ‘Transfer-Encoding:1’<html><head><title>501 Not Implemented</title></head><body bgcolor=“white”><center><h1>501 Not Implemented</h1></center><hr><center>nginx/1.14.0</center></body></html>502NGX_HTTP_BAD_GATEWAY修改nginx配置为fastcgi_pass 127.0.0.1:8000;指向一个未监听的端口curl localhost:8070/index.php -IHTTP/1.1 502 Bad GatewayServer: nginx/1.14.0Date: Tue, 18 Sep 2018 11:28:17 GMTContent-Type: text/htmlContent-Length: 537Connection: keep-aliveETag: “5ad6113c-219"503NGX_HTTP_SERVICE_UNAVAILABLE修改nginx配置,限速为每分钟10个请求 limit_req_zone $binary_remote_addr zone=one:10m rate=10r/m;limit_req zone=one;连续发送两个请求,第二请求会报503curl localhost:8070/index.php -IHTTP/1.1 503 Service Temporarily UnavailableServer: nginx/1.14.0Date: Tue, 18 Sep 2018 11:31:43 GMTContent-Type: text/htmlContent-Length: 537Connection: keep-aliveETag: “5ad6113c-219"504NGX_HTTP_GATEWAY_TIME_OUT修改index.php为<?phpecho “124”;sleep(5);休息5秒钟 修改nginx配置为三秒钟读超时fastcgi_read_timeout 3;curl localhost:8070/index.php -IHTTP/1.1 504 Gateway Time-outServer: nginx/1.14.0Date: Tue, 18 Sep 2018 12:17:57 GMTContent-Type: text/htmlContent-Length: 537Connection: keep-aliveETag: “5ad6113c-219"505NGX_HTTP_VERSION_NOT_SUPPORTEDtelnet8070端口,输入GET /index.html HTTP/2.1不支持http/2.1,会报505 $telnet localhost 8070Trying 127.0.0.1…Connected to localhost.Escape character is ‘^]’.GET /index.html HTTP/2.1HTTP/1.1 505 HTTP Version Not SupportedServer: nginx/1.14.0Date: Tue, 18 Sep 2018 12:26:35 GMTContent-Type: text/htmlContent-Length: 203Connection: close<html><head><title>505 HTTP Version Not Supported</title></head><body bgcolor=“white”><center><h1>505 HTTP Version Not Supported</h1></center><hr><center>nginx/1.14.0</center></body></html>