文件读取
Syntax: sendfile on|off;
Default: sendfile off;
Context: http,server,location,if in location
tcp_nopush(不是着急的发送给客户端)
作用:sendfile开启的情况下,提高网络包的传输效率。
解释:比如一个发快递的场景,如果有10个包裹,发10次,就要叫10次快递员来发送。那么可以把10个包裹整理到一起,一次性发送出去。
Syntax: tcp_nopush on|off;
Default: tcp_nopush off;
Context: http,server,location
tcp_nodelay(与上一个对应,着急发送)
作用:keepalive(长连接)连接下,提高网络包的传输实时性。
解释:数据包尽量不要等待,实时的发送出去。
Syntax: tcp_nodelay on|off;
Default: tcp_nodelay off;
Context: http,server,location
压缩
作用:压缩传输
Syntax: gzip on|off;
Default: gzip off;
Context: http,server,location,if in location
压缩比配置:
Syntax: gzip_comp_level level;
# 越大,压缩越小。(会耗费服务器资源)
Default: gzip_comp_level 1;
Context: http,server,location
gzip版本配置:
Syntax: gzip_http_version 1.0|1.1;
Default: gzip_http_version 1.1;
Context: http,server,location
扩展
location ~ .*\.(txt|xml)$ {
gzip on;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
root /opt/app/code/doc;
}
location ~ ^/download {
gzip_static on; #预读gzip功能,先gzip压缩
tcp_nopush on;
root /opt/app/code;
}
原理:添加http的Cache-Control、Expires头
Syntax: expires [modified] time;
expires epoch | max| off;
Default: expires off;
Context: http,server,location,if in location
nginx开启跨站访问(也就是解决跨域问题)
原理:浏览器默认是不允许一个网站跨站访问另一个网站的,浏览器会判断 头信息:Access-Control-Allow-Origin
Syntax: add_header name value [always]; #name=Access-Control-Allow-Origin
Default:
Context: http,server,location,if in location
#示例
add_header Access-Control-Allow-Origin https://www.abc.com #只允许abc这个跨站访问
add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,OPTIONS
简单防盗链(防止资源被盗用)
http_referer:上一次页面的url地址,第一次打开是没有referer信息的。
Syntax: valid_referers none | blocked | server_names | string...;
Default:
Context: server,location
#示例
#没有referers信息、没有协议信息的请求、ip。(也可使用正则匹配)
valid_referers none blocked 192.168.122.111;
if ($invalid_referer) {
retrun 403;
}
本文地址:https://blog.csdn.net/Pasiyu/article/details/107598808
如对本文有疑问, 点击进行留言回复!!
Android 4.0使用Kotlin调用C语言以及汇编语言
Java Class.forName()用法和newInstance()方法原理解析
网友评论