Nginx 路由转发和反向代理location配置实现

2025-05-26 0 36

Nginx 配置的三种方式

第一种直接替换 location 匹配部分

第二种 proxy_pass 的目标地址,默认不带 /,表示只代理域名,url 和参数部分不会变(把请求的 path 拼接到 proxy_pass 目标域名之后作为代理的URL)

第三种 proxy_pass 的目标地址后增加 /,则表示把 path 中 location 匹配成功的部分剪切掉之后再拼接到 proxy_pass 目标地址

location配置

?

1
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 这个服务

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19
# 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 路由转发反向代理内容请搜索快网idc以前的文章或继续浏览下面的相关文章希望大家以后多多支持快网idc!

原文链接:https://blog.csdn.net/weixin_44953227/article/details/112473341

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 Nginx 路由转发和反向代理location配置实现 https://www.kuaiidc.com/52876.html

相关文章

发表评论
暂无评论