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

相關文章
相關標籤/搜索