1. 程式人生 > >Nginx中常用的指令配置詳解

Nginx中常用的指令配置詳解

Nginx中的rewrite指令的應用

rewrite指令的作用:是做一些訪問匹配規則的判斷,從而實現相應的操作。
location / {
proxy_pass http://192.168.1.5
if (-d $request_filename) {
...........;
這裏的意思是訪問的如果是一個目錄會做如何處理。
}

             if ($host ~*  ^www) {
                             proxy_pass http://192.168.1.2;
                             這裏意思是訪問的如果是以www開頭的會做如何處理。
             }

}

location /a {
root html;
index index.html;
rewrite ^/a(.*)$ http://10.18.42.156:80/forum$1;
}

註意rewrite是關鍵字,而且被訪問的後端服務器中必須要有forum目錄
$1變量等於/a 後面加的東西,用戶在輸入啥$1就是啥,網頁必須放在forum下。
如果/a/b這樣訪問那麽$1=/b,則後端服務器必須要有個/forum/b否則報404錯誤。

關於break知識點的應用:
這是一個關於重定向中使用break的意義;由於有些特殊情況會在替換訪問路徑時候出現如上述的反復匹配替換發生死循環的情況,那麽我們可以在重定向的訪問路徑後面加一個break關鍵字,這樣就解決了這種情況的發生。

location /test {
rewrite . /bbs/index.html last;
}
location /bbs {
rewrite .
/bbs/2015/index.html break;
}

關於alias知識點的應用:
利用關鍵字alias可以做到如下:
location /qianfeng{
alias /var/www/web_site02;
}
這個意思是當你訪問/qianfeng 的時候,會調轉到/var/www/web_site02這個目錄下的網頁。

關於nginx中的防盜鏈技術的應用:
所謂的防盜鏈在實際生產中的應用場景是:當你的網站在被別人轉載的時候有些信息是不可以讓別人訪問的時候我們就可以使用這種技術來實現。
一般都是防盜圖片鏈接;具體實現方式如下;

location ~* .(gif|jpg|jpeg|png)$ {
valid_referers none blocked www.example.com example.com ;
if ($invalid_referer) {
return 403;
}
}

關於nginx中取消版本號的顯示做法和nginx中防止訪問頁出現目錄情況的做法:
這個是在主配置文件中的http上下文中加上一句指令即可:
/etc/nginx/nginx.conf
http {
server_tokens off; (去除版本號的顯示)
}
location /qianfeng{
alias /var/www/web_site02;
autoindex off; (使網頁中不會出現目錄情況)
}

Nginx中常用的指令配置詳解