nginx location語法使用及一些全域性變數

2021-06-22 15:33:28 字數 2149 閱讀 4216

語法規則: location [=|~|~*|^~] /uri/

location 指令,是用來為匹配的 uri 進行配置,uri 即語法中的」/uri/」,可以是字串或正規表示式。但如果要使用正規表示式,則必須指定字首。uri 是指/dir/file.php不包括各種引數。

/ 通用匹配,任何請求都會匹配到

= 開頭表示精確匹配

~ 開頭表示區分大小寫的正則匹配

~* 開頭表示不區分大小寫的正則匹配

!~和!~*分別為區分大小寫不匹配及不區分大小寫不匹配 的正則

^~ 開頭表示uri以某個常規字串開頭,理解為匹配 url路徑即可。nginx不對url做編碼,因此請求為/static/20%/aa,可以被規則^~ /static/ /aa匹配到(注意是空格)。

當有匹配成功時候,停止匹配,按當前匹配規則處理請求。

示例:

下面這些是可以在nginx.conf中使用的變數:

$arg_parameter #這個變數包含get請求中,如果有變數parameter時的值。

$args #這個變數等於請求行中(get請求)的引數,例如foo=123&bar=blahblah;

$binary_remote_addr #二進位制的客戶位址。

$body_bytes_sent #響應時送出的body位元組數數量。即使連線中斷,這個資料也是精確的。

$content_length #請求頭中的content-length欄位。

$content_type #請求頭中的content-type欄位。

$cookie_cookie #cookie cookie變數的值

$document_root #當前請求在root指令中指定的值。

$document_uri #與$uri相同。

$host #請求主機頭欄位,否則為伺服器名稱。

$is_args #如果有$args引數,這個變數等於」?」,否則等於」",空值。

$http_user_agent #客戶端agent資訊

$http_cookie #客戶端cookie資訊

$limit_rate #這個變數可以限制連線速率。

$query_string #與$args相同。

$request_body_file #客戶端請求主體資訊的臨時檔名。

$request_method #客戶端請求的動作,通常為get或post。

$remote_addr #客戶端的ip位址。

$remote_port #客戶端的埠。

$remote_user #已經經過auth basic module驗證的使用者名稱。

$request_completion #如果請求結束,設定為ok. 當請求未結束或如果該請求不是請求鏈串的最後乙個時,為空(empty)。

$request_method #get或post

$request_filename #當前請求的檔案路徑,由root或alias指令與uri請求生成。

$request_uri #包含請求引數的原始uri,不包含主機名,如:」/foo/bar.php?arg=baz」。不能修改。

$scheme #http方法(如http,https)。

$server_protocol #請求使用的協議,通常是http/1.0或http/1.1。

$server_addr #伺服器位址,在完成一次系統呼叫後可以確定這個值。

$server_name #伺服器名稱。

$server_port #請求到達伺服器的埠號。

$uri #不帶請求引數的當前uri,$uri不包含主機名,如」/foo/bar.html」。該值有可能和$request_uri 不一致。$request_uri是瀏覽器發過來的值。該值是rewrite後的值。例如做了internal redirects後。

Nginx Location 指令語法解析

本文翻譯自 www.keycdn.com support ngi nginx location是使用 nginx 的過程中必須要掌握的技能,無論是在server blocks還是其他location blocks中都會用到,這篇文章簡單介紹了當請求來臨時location指令是如何處理客戶端uri請求...

Nginx Location簡單語法與配置

二 location語法語法 location uri 注 1 為區分大小寫匹配 2 為不區分大小寫匹配 3 和 分別為區分大小寫不匹配及不區分大小寫不匹配 示例一 location 匹配任何查詢,因為所有請求都以 開頭。但是正規表示式規則將被優先和查詢匹配。示例二 location 僅僅匹配 示例...

擴充套件 nginx location 配置語法規則

nginx 的 location 配置 符號說明 表示精確匹配 表示uri以指定字元或字串開頭 表示區分大小寫的正則匹配 表示不區分大小寫的正則匹配 通用匹配,任何請求都會匹配到 高於 高於 等於 高於 如 www.aminglinux.com 12.jpg 匹配 www.aminglinux.co...