Nginx路由转发和反向代理location配置实现
Nginx 配置的三种⽅式
第⼀种直接替换 location 匹配部分
第⼆种 proxy_pass 的⽬标地址,默认不带 /,表⽰只代理域名,url 和参数部分不会变(把请求的 path 拼接到 proxy_pass ⽬标域名之后作为代理的URL)
第三种 proxy_pass 的⽬标地址后增加 /,则表⽰把 path 中 location 匹配成功的部分剪切掉之后再拼接到 proxy_pass ⽬标地址
location配置
location [ = | ~ | ~* | ^~ ] uri {...}
uri前⾯的⽅括号中的内容是可选项,解释如下:
"=":⽤于标准uri前,要求请求字符串与uri严格匹配,⼀旦匹配成功则停⽌
"~":⽤于正则uri前,并且区分⼤⼩写
"~*":⽤于正则uri前,但不区分⼤⼩写
"^~":⽤于标准uri前,要求Nginx到标识uri和请求字符串匹配度最⾼的location后,⽴即使⽤此location处理请求,⽽不再使⽤location块中的正则uri和请求字符串做匹配
符号含义正则匹配等级域名网址
=精确匹配
^~⾮正则匹配
~正则匹配(区分⼤⼩写)
~*正则匹配(不区分⼤⼩写)
!~正则不匹配(区分⼤⼩写)
!~*正则不匹配(不区分⼤⼩写)
普通匹配(这⾥没有符号的时候)
例⼦
访问的时候 Nginx 会把 /shop/ 截取掉然后把后⾯的 path 拼接到 proxy_pass 上
# 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 44.179.118.54:8007/;
#proxy_set_header X-Real-IP $remote_addr;
#root /var/www/test/user/
#index index.html
#proxy_pass www.baidu;
}
到此这篇关于Nginx 路由转发和反向代理location配置实现的⽂章就介绍到这了,更多相关Nginx 路由转发和反向代理内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论