Nginx 路由轉(zhuǎn)發(fā)和反向代理location配置實現(xiàn)
Nginx 配置的三種方式
第一種直接替換 location 匹配部分
第二種 proxy_pass 的目標(biāo)地址,默認(rèn)不帶 /,表示只代理域名,url 和參數(shù)部分不會變(把請求的 path 拼接到 proxy_pass 目標(biāo)域名之后作為代理的URL)
第三種 proxy_pass 的目標(biāo)地址后增加 /,則表示把 path 中 location 匹配成功的部分剪切掉之后再拼接到 proxy_pass 目標(biāo)地址
location配置
location [ = | ~ | ~* | ^~ ] uri {...}
uri前面的方括號中的內(nèi)容是可選項,解釋如下:
- "=":用于標(biāo)準(zhǔn)uri前,要求請求字符串與uri嚴(yán)格匹配,一旦匹配成功則停止
- "~":用于正則uri前,并且區(qū)分大小寫
- "~*":用于正則uri前,但不區(qū)分大小寫
- "^~":用于標(biāo)準(zhǔn)uri前,要求Nginx找到標(biāo)識uri和請求字符串匹配度最高的location后,立即使用此location處理請求,而不再使用location塊中的正則uri和請求字符串做匹配
| 符號 | 含義 |
| = | 精確匹配 |
| ^~ | 非正則匹配 |
| ~ | 正則匹配(區(qū)分大小寫) |
| ~* | 正則匹配(不區(qū)分大小寫) |
| !~ | 正則不匹配(區(qū)分大小寫) |
| !~* | 正則不匹配(不區(qū)分大小寫) |
| 普通匹配(這里沒有符號的時候) |
例子
例如下面的配置演示第三種配置方案,當(dāng)我們訪問 http://44.179.118.54:80/shop/xxx 的時候
訪問的時候 Nginx 會把 /shop/ 截取掉然后把后面的 path 拼接到 proxy_pass 上
那么我們實際訪問的就是: http://44.179.118.54:8007/xxx 這個服務(wù)
# shop-service
# 反向代理shop-service服務(wù)
location ^~ /shop/ {
#proxy_redirect off;
#proxy_connect_timeout 60;
#proxy_read_timeout 60;
#proxy_send_timeout 60;
#proxy_buffer_size 4k;
#proxy_buffers 4 32k;
#proxy_busy_buffers_size 64k;
#proxy_temp_file_write_size 64k;
#proxy_max_temp_file_size 128m;
proxy_pass http://44.179.118.54:8007/;
#proxy_set_header X-Real-IP $remote_addr;
#root /var/www/test/user/
#index index.html
#proxy_pass https://www.baidu.com;
}
到此這篇關(guān)于Nginx 路由轉(zhuǎn)發(fā)和反向代理location配置實現(xiàn)的文章就介紹到這了,更多相關(guān)Nginx 路由轉(zhuǎn)發(fā)和反向代理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Prometheus 和 Grafana 通過nginx-exporter監(jiān)控nginx的
nginx-exporter 是 Prometheus 用來從 Nginx 收集指標(biāo)的組件,這篇文章給大家介紹Prometheus 和 Grafana 通過nginx-exporter監(jiān)控nginx的詳細(xì)步驟,感興趣的朋友跟隨小編一起看看吧2024-08-08
Nginx rewrite和proxy_pass的區(qū)別及說明
這篇文章主要介紹了Nginx rewrite和proxy_pass的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06
詳解Nginx虛擬主機配置中server_name的具體寫法
這篇文章主要介紹了Nginx虛擬主機配置中server_name的具體寫法,server_name服務(wù)器名是虛擬主機中必須配置的重要參數(shù),需要的朋友可以參考下2016-03-03

