Nginx 对客户端请求的特殊处理

 

本文记录Nginx静态web服务器对于客户端请求的特殊处理的配置项。
 
1. 忽略不合法的HTTP头部
语法:ignore_invalid_headers on|off;
默认:ignore_invalid_headers on;
配置块:http、server
该配置值为off时,Nginx会拒绝HTTP头部不合法的请求,直接返回400(Bad Request)错误。
 
2.HTTP头部是否允许下划线
语法:underscores_in_headers on|off;
默认:underscores_in_headers off;
配置块:http、server
默认为off,HTTP头部名称不允许带下划线。
 
3.对If-Modified-Since头部处理策略
语法:if_modified_since[off|exact|before];
默认:if_modified_since exact;
配置块:http、server、location
为了提高性能,web浏览器一般会在本地缓存一些文件,并且保存当时获取的时间。这样,向web服务器获取缓存过的资源时,可以用If-Modified-Since头部将上次获取的时间带上,Nginx服务器会根据配置值决定如何处理If-Modified-Since头部。
参数介绍:
off:表示忽略请求中的If-Modified-Since头部,这时获取一个文件,将会正常返回文件内容。
exact:将请求中的时间与服务器上文件的修改时间进行比较,如果没有匹配上,返回200和文件实际内容。匹配上了的话,直接返回304-Not Modified,浏览器将会直接读取自己的本地缓存。
before:比exact更加宽松,只要服务器上修改时间大于请求中的时间,就会返回304.
 
4.文件未找到时是否记录到error日志
语法:log_not_found on|off;
默认:log_not_found on;
配置块:http、server、location
 
5.merge_slashes
语法:merge_slashes on|off;
默认:merge_slashes on;
配置块:http、server、location
该配置项表示是否合并相邻的“”,如/test///a.txt,当该配置值为on时,将会将其匹配为location/test/a.txt;如果是off,就还是/test///a.txt。
 
6.DNS解析地址
语法:resolver address...;
配置块:http、server、location
设置DNS名字解析服务器的地址,如:
resolver 127.0.0.1 192.0.2.1;

 

7.DNS解析超时时间
语法:resolver_timeout time;
默认:resolver_timeout 30s;
配置块:http、server、location
 
8.返回错误页面是是否在Server中注明Nginx版本
语法:server_tokens on|off;
默认:server_tokens on;
配置块:http、server、location
posted @ 2020-07-13 13:26  红雨520  阅读(991)  评论(0编辑  收藏  举报