Nginx 路由轉(zhuǎn)發(fā)和反向代理location配置實現(xiàn)
Nginx 配置的三種方式
第一種直接替換 location 匹配部分
第二種 proxy_pass 的目標地址,默認不帶 /,表示只代理域名,url 和參數(shù)部分不會變(把請求的 path 拼接到 proxy_pass 目標域名之后作為代理的URL)
第三種 proxy_pass 的目標地址后增加 /,則表示把 path 中 location 匹配成功的部分剪切掉之后再拼接到 proxy_pass 目標地址
location配置
location [ = | ~ | ~* | ^~ ] uri {...}
uri前面的方括號中的內(nèi)容是可選項,解釋如下:
- "=":用于標準uri前,要求請求字符串與uri嚴格匹配,一旦匹配成功則停止
- "~":用于正則uri前,并且區(qū)分大小寫
- "~*":用于正則uri前,但不區(qū)分大小寫
- "^~":用于標準uri前,要求Nginx找到標識uri和請求字符串匹配度最高的location后,立即使用此location處理請求,而不再使用location塊中的正則uri和請求字符串做匹配
符號 | 含義 |
= | 精確匹配 |
^~ | 非正則匹配 |
~ | 正則匹配(區(qū)分大小寫) |
~* | 正則匹配(不區(qū)分大小寫) |
!~ | 正則不匹配(區(qū)分大小寫) |
!~* | 正則不匹配(不區(qū)分大小寫) |
普通匹配(這里沒有符號的時候) |
例子
例如下面的配置演示第三種配置方案,當我們訪問 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)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來源標注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。