Nginx Location 指令簡(jiǎn)明指南
Nginx 中的 Location 指令 是NginxHttpCoreModule中重要指令。Location 指令比較簡(jiǎn)單,但卻是配置 Nginx 過(guò)程中不得不去了解的。
Location 指令,是用來(lái)為匹配的 URI 進(jìn)行配置,URI 即語(yǔ)法中的"/uri/",可以是字符串或正則表達(dá)式。但如果要使用正則表達(dá)式,則必須指定前綴。
一、基本語(yǔ)法
1.location [=|~|~*|^~|@] /uri/ { … }
〖=〗 表示精確匹配,如果找到,立即停止搜索并立即處理此請(qǐng)求。
〖~ 〗 表示區(qū)分大小寫匹配
〖~*〗 表示不區(qū)分大小寫匹配
〖^~ 〗 表示只匹配字符串,不查詢正則表達(dá)式。
〖@〗 指定一個(gè)命名的location,一般只用于內(nèi)部重定向請(qǐng)求。
二、匹配過(guò)程
首先對(duì)字符串進(jìn)行匹配查詢,最確切的匹配將被使用。然后,正則表達(dá)式的匹配查詢開始,匹配第一個(gè)結(jié)果后會(huì)停止搜索,如果沒(méi)有找到正則表達(dá)式,將使用字符串的搜索結(jié)果,如果字符串和正則都匹配,那么正則優(yōu)先級(jí)較高。
三、配置實(shí)例
location = / {
# 只匹配對(duì) / 目錄的查詢.
[ config A ]
}
location / {
# 匹配以 / 開始的查詢,即所有查詢都匹配。
[ config B ]
}
location ^~ /images/ {
# 匹配以 /images/ 開始的查詢,不再檢查正則表達(dá)式。
[ config C ]
}
location ~* \.(gif|jpg|jpeg)$ {
# 匹配以gif, jpg, or jpeg結(jié)尾的文件,但優(yōu)先級(jí)低于config C。
[ config D ]
}
四、全局變量
$args #這個(gè)變量等于請(qǐng)求行中的參數(shù)。
$content_length #請(qǐng)求頭中的Content-length字段。
$content_type #請(qǐng)求頭中的Content-Type字段。
$document_root #當(dāng)前請(qǐng)求在root指令中指定的值。
$host #請(qǐng)求主機(jī)頭字段,否則為服務(wù)器名稱。
$http_user_agent #客戶端agent信息
$http_cookie #客戶端cookie信息
$limit_rate #這個(gè)變量可以限制連接速率。
$request_body_file #客戶端請(qǐng)求主體信息的臨時(shí)文件名。
$request_method #客戶端請(qǐng)求的動(dòng)作,通常為GET或POST。
$remote_addr #客戶端的IP地址。
$remote_port #客戶端的端口。
$remote_user #已經(jīng)經(jīng)過(guò)Auth Basic Module驗(yàn)證的用戶名。
$request_filename #當(dāng)前請(qǐng)求的文件路徑,由root或alias指令與URI請(qǐng)求生成。
$query_string #與$args相同。
$scheme #HTTP方法(如http,https)。
$server_protocol #請(qǐng)求使用的協(xié)議,通常是HTTP/1.0或HTTP/1.1。
$server_addr #服務(wù)器地址,在完成一次系統(tǒng)調(diào)用后可以確定這個(gè)值。
$server_name #服務(wù)器名稱。
$server_port #請(qǐng)求到達(dá)服務(wù)器的端口號(hào)。
$request_uri #包含請(qǐng)求參數(shù)的原始URI,不包含主機(jī)名,如:”/foo/bar.php?arg=baz”。
$uri #不帶請(qǐng)求參數(shù)的當(dāng)前URI,$uri不包含主機(jī)名,如”/foo/bar.html”。
$document_uri #與$uri相同。
- 詳解nginx配置location總結(jié)及rewrite規(guī)則寫法
- 詳解nginx rewrite和根據(jù)url參數(shù)location
- nginx location 配置 正則表達(dá)式實(shí)例詳解
- 詳解Nginx Location配置
- Nginx應(yīng)用之Location路由反向代理及重寫策略示例
- nginx location匹配實(shí)例詳解
- 詳解Nginx location 匹配規(guī)則
- Nginx服務(wù)器中l(wèi)ocation配置的一些基本要點(diǎn)解析
- Nginx服務(wù)器的location指令匹配規(guī)則詳解
- Nginx服務(wù)器中的location配置詳解
- 簡(jiǎn)介Nginx中的location匹配規(guī)則
- nginx location語(yǔ)法使用介紹
- Nginx配置指令location匹配符優(yōu)先級(jí)和安全問(wèn)題
- nginx配置location總結(jié)location正則寫法及rewrite規(guī)則寫法
相關(guān)文章
Nginx配置的rewrite編寫時(shí)last與break的區(qū)別分析
這篇文章主要介紹了Nginx配置的rewrite編寫時(shí)last與break的區(qū)別分析,簡(jiǎn)單來(lái)說(shuō)使用last會(huì)對(duì)server標(biāo)簽重新發(fā)起請(qǐng)求,而break就直接使用當(dāng)前的location中的數(shù)據(jù)源來(lái)訪問(wèn),需要的朋友可以參考下2016-01-01Nginx配置文件(nginx.conf)配置詳解(總結(jié))
本篇文章主要介紹了Nginx配置文件(nginx.conf)配置詳解,這對(duì)初學(xué)者有一定的參考價(jià)值,有興趣的可以了解一下。2016-12-12Nginx配置同時(shí)支持http和https的兩種方式
現(xiàn)在的網(wǎng)站支持Https幾乎是標(biāo)配功能,Nginx能很好的支持Https功能,本文主要介紹了Nginx配置同時(shí)支持http和https的兩種方式,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03nginx重寫rewrite基礎(chǔ)及實(shí)例分享
這篇文章主要介紹了nginx重寫rewrite基礎(chǔ)及實(shí)例分享,需要的朋友可以參考下2016-04-04基于nginx獲取代理服務(wù)ip以及客戶端真實(shí)ip詳解
最近在研究nginx中如何獲取真實(shí)客戶端IP的方法,下面這篇文章主要給大家介紹了基于nginx獲取代理服務(wù)ip以及客戶端真實(shí)ip的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07nginx配置中proxy_pass反向代理502的bug記錄
這篇文章主要介紹了nginx配置中proxy_pass反向代理502的bug記錄,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01