作家
登录

谈谈那些实用的Nginx规则

作者: 来源: 2018-01-16 19:26:49 阅读 我要评论

2.6 rewrite

rewrite做一些301、302之类的跳转,同时也可以在CDN前端做“去问号”缓存的效不雅。

  1. location /db.txt { 
  2.     rewrite (.*) $1? break; 
  3.     include proxy.conf; 

别的最常见的跳转写法:

  1. rewrite ^/game/(.*) /$1; 

可以在后面加个permanent参数,就变为了301 Moved Permanently,或者添加redirect改为302跳转。

同理,还可以进行多个正则匹配进行URL重组,比如:

  1. rewrite ^/download/(.*)/lastest/(.*)$ /file/$1?ver=$2 break; 

2.7 日记字段

想针对每个连接进行日记留档,可以在nginx日记那边设备好字段,比如记录cookie之类的数据。

在log_format字段琅绫擎参加$http_cookie变量即可。

别的post的数据可以永远保存在文件琅绫擎,比如用来做http的日记备份,包含get和post的原始数据,把这个值开启即可:

然后post的数据就会保存在nginx/client_body_temp文件夹琅绫擎。

2.8 internal关键词

这个关键词很少见,但有时刻是很有效的,比如在有很多规矩时刻,忽然须要针对某个目次转为nginx内部处理。

  1. location ^~ /upload/down/ { 
  2. alias /data/web/dts/dtsfile/down/; 
  3. internal; 

2.9 try_files

  1. add_header Cache-Control no-cache; 
  2. add_header Cache-Control no-store; 
  3. expires off

字面意思是测验测验,后面可以接多个目次或者文件,比如kohana框架:

  1. try_files $uri /index.php?$query_string; 

先看是否有URL这个文件,没有的话再调用index.php来处理,或者支撑状况码处理:

  1. try_files /foo /bar/ =404; 

留意必须手动指定全须要紧缩的类型,比如css、js之类的,线上设备如下:

没有这两个文件的话返回404状况。

2.10 auth认证

  1. fastcgi_intercept_errors on

可以做简单的用户登录认证方法,个中的passwd_file得经由过程apache的htpasswd敕令来生成。

认证经由过程之后每次拜访会在头部添加Authorization字段包含用户名暗码的base64加密密文给办事端。

  1. gzip on
  2. gzip_min_length  2048; 
  3. gzip_buffers     4 16k; 
  4. gzip_vary   on
  5. gzip_http_version 1.1; 
  6. gzip_types  text/plain  text/css text/xml application/xml application/javascript application/x-javascript ; 

2.12 mime设备

良久以前根本是忽视这个设备,但手游风行之后就发明异常了,须要让手机浏览器知道返回的apk后缀是什么类型,不然类似IE浏览器会以zip后缀返回,须要加上:

  1. application/vnd.android.package-archive apk; 
  2. application/iphone pxl ipa; 

2.13 限速

限速包含限制请求的并发数和请求的下载速度。

简单的限制某个线程的下载速度就直接加上一句话就可以了:

  1. limit_rate 1024k; 

要限制某个IP的并发数之类的就须要用ngx_http_limit_req_module和ngx_http_limit_conn_module模块了,不过是默认就编译好的。

比如应用一个 10M 大年夜小的状况缓存区,针对每个IP每秒只接收20次的请求:

  1. limit_req_zone $binary_remote_addr zone=NAME:10m rate=20r/s; 

2.14 location匹配

location匹配有多种方法,常见的比如

用反向代劳时刻,须要特别留意琅绫擎的域名默认是在nginx启动时刻就解析了,除非reload不然一向用的是当初解析的域名,也就是说不克不及动态解析。


  推荐阅读

  容器圈2017年回顾及2018年技术热点预测

年前最后一场技巧盛宴 | 1月27日与京东、日记易技巧大年夜咖畅聊智能化运维成长趋势! 谈及容器技巧,毫不夸大地说,2017年是“Kubernetes之年”。Kubernetes自2014年推出以来,>>>详细阅读


本文标题:谈谈那些实用的Nginx规则

地址:http://www.17bianji.com/lsqh/40297.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)