点赞
评论
收藏
分享
举报
【转载】NGINX路由转发和反向代理 location 配置
发表于2021-10-15 10:29

浏览 1.2k

作者:weixin_44953227

原文链接:Nginx 路由转发和反向代理 location 配置_weixin_44953227的博客-CSDN博客


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和请求字符串做匹配


例子


例如下面的配置演示第三种配置方案,当我们访问 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;
}


已修改于2023-03-09 02:25
创作不易,留下一份鼓励
NGINX社区小N助手

暂无个人介绍

关注



写下您的评论
发表评论
全部评论(1)

按点赞数排序

按时间排序

您好,像 /aaa/1234/bbb 这种url应该如何实现转发呀

赞同

0

回复举报

发表于2023-06-21 17:45



回复2427317jngb
回复
关于作者
NGINX社区小N助手
这家伙很懒还未留下介绍~
14
文章
0
问答
12
粉丝
相关文章
该版本解决了 PHP 和 Python 应用处理、NJS 集成和 WebSocket 中的各种错误 了解更多
点赞 0
浏览 419
对文件的复制也是我们工作当中经常会遇到的操作,那么哪种方式效率更快呢,今天来做个测试。头脑风暴首先能想到的就是,采用两个数据流:一个用于读取、一个用于写入;IO流我们可以采用字节流或字符流,但是字符流
点赞 0
浏览 378
应用和网站的性能关系着成败, 优化缓存是提升性能的基本方法之一。了解有关 NGINX 和 NGINX Plus 缓存的所有信息。访问 NGINX 中文官方开源社区(nginx.org.cn)了解详情。
点赞 0
浏览 655