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


Posted in Servers onNovember 11, 2021

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;
 }

到此这篇关于Nginx 路由转发和反向代理location配置实现的文章就介绍到这了,更多相关Nginx 路由转发和反向代理内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Servers 相关文章推荐
Nginx使用X-Accel-Redirect实现静态文件下载的统计、鉴权、防盗链、限速等
Apr 04 Servers
JVM上高性能数据格式库包Apache Arrow入门和架构详解(Gkatziouras)
May 26 Servers
详解nginx location指令
Jan 18 Servers
Nginx动静分离配置实现与说明
Apr 07 Servers
Mac电脑OS系统下安装Nginx的详细教程
Apr 14 Servers
openstack云计算keystone组件工作介绍
Apr 20 Servers
排查Tomcat进程假死的问题
May 06 Servers
nginx代理实现静态资源访问的示例代码
Jul 07 Servers
Zabbix对Kafka topic积压数据监控的解决方案
Jul 07 Servers
nginx七层负载均衡配置详解
Jul 15 Servers
搭建zabbix监控以及邮件报警的超级详细教学
Jul 15 Servers
彻底卸载VMware虚拟机的超详细步骤记录
Jul 15 Servers
nginx中proxy_pass各种用法详解
Apache POI的基本使用详解
nginx实现动静分离的方法示例
Nginx内网单机反向代理的实现
Nov 07 #Servers
zabbix自定义监控nginx状态实现过程
总结高并发下Nginx性能如何优化
Rhit高效可视化Nginx日志查看工具
You might like
最新的php 文件上传模型,支持多文件上传
2009/08/13 PHP
php去除HTML标签实例
2013/11/06 PHP
php生成缩略图示例代码分享(使用gd库实现)
2014/01/20 PHP
php function用法如何递归及return和echo区别
2014/03/07 PHP
php之Smarty模板使用方法示例详解
2014/07/08 PHP
php生成随机颜色的方法
2014/11/13 PHP
php把大写命名转换成下划线分割命名
2015/04/27 PHP
详谈PHP程序Laravel 5框架的优化技巧
2016/07/18 PHP
Javascript 构造函数 实例分析
2008/11/26 Javascript
用javascript作一个通用向导说明
2011/08/30 Javascript
浅析Bootstrap验证控件的使用
2016/06/23 Javascript
KnockoutJS 3.X API 第四章之数据控制流if绑定和ifnot绑定
2016/10/10 Javascript
利用js+css+html实现固定table的列头不动
2016/12/08 Javascript
基于js 本地存储(详解)
2017/08/16 Javascript
React如何解决fetch跨域请求时session失效问题
2018/11/02 Javascript
详解Vue中组件传值的多重实现方式
2019/08/16 Javascript
nodejs一个简单的文件服务器的创建方法
2019/09/13 NodeJs
Vue+Element UI 树形控件整合下拉功能菜单(tree + dropdown +input)
2020/08/28 Javascript
在Linux中通过Python脚本访问mdb数据库的方法
2015/05/06 Python
基于Django与ajax之间的json传输方法
2018/05/29 Python
python验证码识别教程之滑动验证码
2018/06/04 Python
Python实现的爬取百度文库功能示例
2019/02/16 Python
Django如何自定义model创建数据库索引的顺序
2019/06/20 Python
浅谈keras中的Merge层(实现层的相加、相减、相乘实例)
2020/05/23 Python
python 使用xlsxwriter循环向excel中插入数据和图片的操作
2021/01/01 Python
美国高端婴童品牌:Hanna Andersson
2016/10/30 全球购物
诗狄娜化妆品官方网站:Stila Cosmetics
2016/12/21 全球购物
吉列剃须刀美国官网:Gillette美国
2018/07/13 全球购物
微软巴西官方网站:Microsoft Brasil
2019/09/26 全球购物
购买原创艺术品:Zatista
2019/11/09 全球购物
DeinDesign德国:设计自己的手机壳
2019/12/14 全球购物
俄罗斯最大的隐形眼镜销售网站:Ochkov.Net
2021/02/07 全球购物
Java中会存在内存泄漏吗,请简单描述
2016/12/22 面试题
《歌唱二小放牛郎》教学反思
2014/04/19 职场文书
会展策划与管理专业求职信
2014/06/09 职场文书
2016年共产党员个人承诺书
2016/03/24 职场文书