您好,登錄后才能下訂單哦!
這篇文章主要講解了“怎么實現Nginx路由轉發和反向代理location配置”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么實現Nginx路由轉發和反向代理location配置”吧!
第一種直接替換 location 匹配部分
第二種 proxy_pass 的目標地址,默認不帶 /,表示只代理域名,url 和參數部分不會變(把請求的 path 拼接到 proxy_pass 目標域名之后作為代理的URL)
第三種 proxy_pass 的目標地址后增加 /,則表示把 path 中 location 匹配成功的部分剪切掉之后再拼接到 proxy_pass 目標地址
location [ = | ~ | ~* | ^~ ] uri {...}
uri前面的方括號中的內容是可選項,解釋如下:
"=":用于標準uri前,要求請求字符串與uri嚴格匹配,一旦匹配成功則停止
"~":用于正則uri前,并且區分大小寫
"~*":用于正則uri前,但不區分大小寫
"^~":用于標準uri前,要求Nginx找到標識uri和請求字符串匹配度最高的location后,立即使用此location處理請求,而不再使用location塊中的正則uri和請求字符串做匹配
符號 | 含義 |
= | 精確匹配 |
^~ | 非正則匹配 |
~ | 正則匹配(區分大小寫) |
~* | 正則匹配(不區分大小寫) |
!~ | 正則不匹配(區分大小寫) |
!~* | 正則不匹配(不區分大小寫) |
普通匹配(這里沒有符號的時候) |
例子
例如下面的配置演示第三種配置方案,當我們訪問 http://44.179.118.54:80/shop/xxx 的時候
訪問的時候 Nginx 會把 /shop/ 截取掉然后把后面的 path 拼接到 proxy_pass 上
那么我們實際訪問的就是: http://44.179.118.54:8007/xxx 這個服務
# shop-service # 反向代理shop-service服務 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; }
感謝各位的閱讀,以上就是“怎么實現Nginx路由轉發和反向代理location配置”的內容了,經過本文的學習后,相信大家對怎么實現Nginx路由轉發和反向代理location配置這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。