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