摘要:运营研发团队张仕华配置系列头不合法头重复参考如上配置访问需要认证将设置为不可读使用非方法访问一个静态文件系列修改为缺少引号语法错误的现在只支持如果客户端随意设置这个值会报修改配置为指向一
运营研发团队 张仕华
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
</>复制代码
4xx系列
400
NGX_HTTP_BAD_REQUEST
</>复制代码
Host头不合法
curl localhost:8070 -H "Host:123/com"
400 Bad Request 400 Bad Request
nginx/1.14.0
Content-Length头重复
curl localhost:8070 -H "Content-Length:1" -H "Content-Length:2"
400 Bad Request 400 Bad Request
nginx/1.14.0
401
NGX_HTTP_UNAUTHORIZED
</>复制代码
参考如上nginx配置,访问abc.html需要认证
curl localhost:8070/abc.html
401 Authorization Required 401 Authorization Required
nginx/1.14.0
403
NGX_HTTP_FORBIDDEN
</>复制代码
chmod 222 index.html
将index.html设置为不可读
curl localhost:8070
403 Forbidden 403 Forbidden
nginx/1.14.0
404
NGX_HTTP_NOT_FOUND
</>复制代码
curl localhost:8070/cde.html
404 Not Found 404 Not Found
nginx/1.14.0
405
NGX_HTTP_NOT_ALLOWED
</>复制代码
使用非GET/POST/HEAD方法访问一个静态文件
curl -X DELETE localhost:8070/index.html -I
HTTP/1.1 405 Not Allowed
Server: nginx/1.14.0
Date: Tue, 18 Sep 2018 10:02:22 GMT
Content-Type: text/html
Content-Length: 173
Connection: keep-alive
5xx系列
500
NGX_HTTP_INTERNAL_SERVER_ERROR
修改index.php为
</>复制代码
缺少引号,语法错误
</>复制代码
curl localhost:8070/index.php -I
HTTP/1.1 500 Internal Server Error
Server: nginx/1.14.0
Date: Tue, 18 Sep 2018 11:29:19 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Set-Cookie: PHPSESSID=aoesvcuvbh1nh95kdkp152r9e1; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
501
NGX_HTTP_NOT_IMPLEMENTED
</>复制代码
nginx的transfer-encoding现在只支持chunked,如果客户端随意设置这个值,会报501
curl localhost:8070 -H "Transfer-Encoding:1"
501 Not Implemented 501 Not Implemented
nginx/1.14.0
502
NGX_HTTP_BAD_GATEWAY
</>复制代码
修改nginx配置为
fastcgi_pass 127.0.0.1:8000;
指向一个未监听的端口
</>复制代码
curl localhost:8070/index.php -I
HTTP/1.1 502 Bad Gateway
Server: nginx/1.14.0
Date: Tue, 18 Sep 2018 11:28:17 GMT
Content-Type: text/html
Content-Length: 537
Connection: keep-alive
ETag: "5ad6113c-219"
503
NGX_HTTP_SERVICE_UNAVAILABLE
</>复制代码
修改nginx配置,限速为每分钟10个请求
limit_req_zone $binary_remote_addr zone=one:10m rate=10r/m;
limit_req zone=one;
</>复制代码
连续发送两个请求,第二请求会报503
curl localhost:8070/index.php -I
HTTP/1.1 503 Service Temporarily Unavailable
Server: nginx/1.14.0
Date: Tue, 18 Sep 2018 11:31:43 GMT
Content-Type: text/html
Content-Length: 537
Connection: keep-alive
ETag: "5ad6113c-219"
504
NGX_HTTP_GATEWAY_TIME_OUT
修改index.php为
</>复制代码
</>复制代码
curl localhost:8070/index.php -I
HTTP/1.1 504 Gateway Time-out
Server: nginx/1.14.0
Date: Tue, 18 Sep 2018 12:17:57 GMT
Content-Type: text/html
Content-Length: 537
Connection: keep-alive
ETag: "5ad6113c-219"
505
NGX_HTTP_VERSION_NOT_SUPPORTED
</>复制代码
telnet8070端口,输入GET /index.html HTTP/2.1
不支持http/2.1,会报505
$telnet localhost 8070
Trying 127.0.0.1...
Connected to localhost.
Escape character is "^]".
GET /index.html HTTP/2.1
HTTP/1.1 505 HTTP Version Not Supported
Server: nginx/1.14.0
Date: Tue, 18 Sep 2018 12:26:35 GMT
Content-Type: text/html
Content-Length: 203
Connection: close
505 HTTP Version Not Supported 505 HTTP Version Not Supported
nginx/1.14.0
后续基于这几种情况,看Nginx源码内部是怎么实现的。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/40174.html
摘要:配置系列头不合法头重复参考如上配置访问需要认证将设置为不可读使用非方法访问一个静态文件系列修改为缺少引号语法错误的现在只支持如果客户端随意设置这个值会报修改配置为指向一个未监听的端口 nginx配置 worker_processes 1; events { worker_connections 1024; } http { include mime.ty...
摘要:目标后端任一接口一分钟内响应超过一定的量,马上收到报警提示报警及慢接口有详细列表可以查看低成本。相关报警请求的详细信息列表慢响应分析 目标 后端任一接口一分钟内5xx响应超过一定的量,马上收到报警提示 报警及慢接口有详细列表可以查看 低成本。几年前公司的日志报警系统是自研的,开发成本比较高,也没有达到阿里云日志服务这种产品化程度 机器部署情况 阿里云EC服务器 功能概述 阿里云日...
序 本文主要讲述一下nginx lua如何重置请求参数以及整理了几类常量。 重置请求参数 获取请求参数 local strider = ngx.var.arg_strider local strider = ngx.req.get_uri_args[strider] 当请求uri中有多个同名参数时,ngx.var.arg_xx的做法是取第一个出现的值,ngx.req_get_uri_args[xx...
摘要:若用户发起了一个条件请求,而资源近期未被修改,可以通过该状态码表明。将来的请求应该使用老的和状态码之间存在一些交叉。服务器担心请求会引发冲突时,可以发送此状态码。 状态码 状态码是来告诉客户端,发生了什么事情。状态码为客户端提供了一种理解事务处理结果的便捷方式。状态码位于响应的起始行中 比如,在行 HTTP/1.0 200 OK 中,状态码就是200 客户端向一个 HTTP 服务器发送...
阅读 1689·2019-08-30 13:04
阅读 2242·2019-08-30 12:59
阅读 1805·2019-08-29 18:34
阅读 1913·2019-08-29 17:31
阅读 1296·2019-08-29 15:42
阅读 3582·2019-08-29 15:37
阅读 2913·2019-08-29 13:45
阅读 2808·2019-08-26 13:57
极致性价比!云服务器续费无忧!
Tesla A100/A800、Tesla V100S等多种GPU云主机特惠2折起,不限台数,续费同价。
NVIDIA RTX 40系,高性价比推理显卡,满足AI应用场景需要。
乌兰察布+上海青浦,满足东推西训AI场景需要