nginx的部署初级(中)

  这里主要对nginx的Location的一些跳转部署作简单说明(在项目的部署过程当中)。
  由于在项目的部署中,常常须要对一些特定的访问uri进行跳转或者组合,或者对特定的访问文件须要进行访问的限定,都属于nginx的部署设计范畴,由于运用太过于灵活,这里先对最基础的进行整理详解。
  Location的语法(因为在前面博客里写过,这里进行原理整理)
 1. Location  /  {  }  访问该设置的域名下面,会所有跳转(注意这里是网址符不是转义符,由于http://www.test.com/***必定是有 / 符号的 )
  要使得访问的全部页面进行跳转到某个网站(就是反向代理的设置)
   location /
     {
      //代理的网址
        proxy_pass http://www.test.com;
        //设置代理后的头部Host部分 把host改为本身
    proxy_set_header Host $host;
    //模拟客户端请求的IP 去请求
         proxy_set_header X-Real-IP $remote_addr;
   //全部的代理IP
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          }

2.通常的平台网站,可能图片消耗流量过多(防止别人盗链)须要进行必定的盗链设置(对本网站的图片进行防盗链设置)
 location ~ \.(gif|jpg|png|swf|flv)$
         {
            valid_referers none blocked www.test.com;
            if ( $invalid_referer ) {
               return  404;
             }
          }
 PS匹配语法:
       ~  对大小写敏感的匹配
       \. 匹配 .(转义符,若是没有\转义符表示匹配任何字符)
  若是是须要对某个目录进行防盗链设置(例如/img/目录下面)
    location ~ /img/
        {
            valid_referers none blocked www.test.com;
            if ( $invalid_referer ) {
               return  404;
             }

          }
PS:特别注意location的格式
 location   ~   
 {
  //这里是内容
  }
当把{} 写在location一行的时候,常常会致使无效的状况
location的匹配规则:正则 location 匹配让步普通 location 的严格精确匹配结果;但覆盖普通 location 的最大前缀匹配结果
3.有些目录只能容许指定IP进行访问(固然在PHP内部也能够对指定的IP进行访问控制)
location  /img/  
{
deny  192.168.1.25;
allow 192.168.1.70;
}
PS:有的时候指定IP段(192.168.1.25/192.168.1.125这种)进行指定访问 会失效

nginx

相关文章
相关标签/搜索