Nginx中l(wèi)ocation proxy_pass加與不加/的區(qū)別說(shuō)明
一、location 配置
前綴匹配
# 匹配以 /images/ 開(kāi)頭的URI location /images/ { # 相應(yīng)的處理配置 }
- 后綴沒(méi)有
/
時(shí),location /abc/def
可以匹配/abc/defghi
請(qǐng)求,也可以匹配/abc/def/ghi
等 - 而后綴有
/
時(shí),location /abc/def/
不能匹配/abc/defghi
請(qǐng)求,只能匹配/abc/def/anything
這樣的請(qǐng)求
精確匹配
# 精確匹配僅為 /login 的URI location = /login { # 進(jìn)行相應(yīng)的處理 }
正則表達(dá)式匹配
# 通過(guò)正則匹配形如 /user/123 的URI location ~ ^/user/\d+ { # 進(jìn)行相應(yīng)的處理 }
通配符匹配
# 匹配以 .jpg、.png 或 .gif 結(jié)尾的URI location ~* \.(jpg|png|gif)$ { # 進(jìn)行相應(yīng)的處理 }
使用 ~*
進(jìn)行正則表達(dá)式匹配時(shí),表示對(duì)請(qǐng)求的 URI 不區(qū)分大小寫(xiě)進(jìn)行匹配
二、proxy_pass 配置
不加后綴 “/”
location /api { # 代理僅替換 schema://ip:port proxy_pass http://backend_server; }
在這種情況下,如果原始請(qǐng)求的 URI 是 /api/foo
,Nginx 代理會(huì)將請(qǐng)求轉(zhuǎn)發(fā)到 http://backend_server/api/foo
。
Nginx 不會(huì)修改原始請(qǐng)求的 URI,而是將其完整地傳遞給后端服務(wù)器。
加上后綴 “/”
location /api { # 代理替換整個(gè)前綴,包括location匹配使用的前綴。即 schema://ip:port/[location pattern] proxy_pass http://backend_server/; }
在這種情況下,如果原始請(qǐng)求的 URI 是 /api/foo
,Nginx 代理會(huì)將請(qǐng)求轉(zhuǎn)發(fā)到 http://backend_server/foo
。
Nginx 會(huì)將原始請(qǐng)求的 URI 中location
前綴 的部分去除,并將剩余部分追加到 proxy_pass 指令中配置的后端服務(wù)器地址后面。
當(dāng)location為正則表達(dá)式時(shí),proxy_pass的末尾不能帶/
,否則會(huì)報(bào)錯(cuò)如下
nginx: [emerg] “proxy_pass” cannot have URI part in location given by regular expression, or inside named location, or inside “if” statement, or inside “limit_except” block in xxx.conf
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Nginx?location和proxy_pass配置示例詳解
- Nginx中proxy_pass的斜杠的兩種方式
- Nginx的location路徑與proxy_pass匹配規(guī)則說(shuō)明
- Nginx捕獲并自定義proxy_pass返回的錯(cuò)誤問(wèn)題
- nginx中如何配置proxy_pass
- Nginx rewrite和proxy_pass的區(qū)別及說(shuō)明
- Nginx proxy_pass如何到https后端
- nginx代理參數(shù)proxy_pass的實(shí)現(xiàn)
- nginx反向代理proxy_pass遇到的死循環(huán)問(wèn)題
- 解決nginx配置proxy_pass之后,響應(yīng)變慢的問(wèn)題
- Nginx使用if指令實(shí)現(xiàn)多個(gè)proxy_pass方式
- Nginx中proxy_pass使用小結(jié)
相關(guān)文章
nginx 隱藏版本號(hào)與WEB服務(wù)器信息的解決方法
這篇文章主要介紹了nginx 隱藏版本號(hào)與WEB服務(wù)器信息的解決方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-11-11keepalived結(jié)合nginx實(shí)現(xiàn)nginx高可用的方法
這篇文章主要介紹了keepalived結(jié)合nginx實(shí)現(xiàn)nginx高可用的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03Windows下使用?Nginx?搭建?HTTP文件服務(wù)器?實(shí)現(xiàn)文件下載功能
Nginx?是一款輕量級(jí)的?HTTP?服務(wù)器,采用事件驅(qū)動(dòng)的異步非阻塞處理方式框架,這讓其具有極好的?IO?性能,時(shí)常用于服務(wù)端的反向代理和負(fù)載均衡,這篇文章主要介紹了Windows下使用?Nginx?搭建?HTTP文件服務(wù)器實(shí)現(xiàn)文件下載功能,需要的朋友可以參考下2023-03-03nginx實(shí)現(xiàn)靜態(tài)文件的token認(rèn)證過(guò)程
這篇文章主要介紹了nginx實(shí)現(xiàn)靜態(tài)文件的token認(rèn)證過(guò)程,2024-06-06使用Nginx限制IP請(qǐng)求和并發(fā)連接數(shù)的實(shí)現(xiàn)方法
本文主要介紹了使用Nginx限制IP請(qǐng)求和并發(fā)連接數(shù)的實(shí)現(xiàn)方法,通過(guò)使用Nginx的限制模塊,我們可以輕松地實(shí)現(xiàn)對(duì)IP請(qǐng)求和并發(fā)連接數(shù)的限制,具體就跟小編一起來(lái)了解一下2024-03-03