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 相关文章推荐
win10安装配置nginx的过程
Mar 31 Servers
Nginx配置https原理及实现过程详解
Mar 31 Servers
使用nginx配置访问wgcloud的方法
Jun 26 Servers
教你使用Jenkins集成Harbor自动发布镜像
Apr 03 Servers
Nginx流量拷贝ngx_http_mirror_module模块使用方法详解
Apr 07 Servers
Docker官方工具docker-registry案例演示
Apr 13 Servers
Mac电脑OS系统下安装Nginx的详细教程
Apr 14 Servers
详解ZABBIX监控ESXI主机的问题
Jun 21 Servers
git stash(储藏)的用法总结
Jun 25 Servers
Zabbix对Kafka topic积压数据监控的解决方案
Jul 07 Servers
win7配置本地ftp服务器的图文教程
Aug 05 Servers
VMware虚拟机安装 Windows Server 2022的详细图文教程
Sep 23 Servers
nginx中proxy_pass各种用法详解
Apache POI的基本使用详解
nginx实现动静分离的方法示例
Nginx内网单机反向代理的实现
Nov 07 #Servers
zabbix自定义监控nginx状态实现过程
总结高并发下Nginx性能如何优化
Rhit高效可视化Nginx日志查看工具
You might like
3种平台下安装php4经验点滴
2006/10/09 PHP
PHP 模拟登陆MSN并获得用户信息
2009/05/16 PHP
JavaScript CSS 修改学习第四章 透明度设置
2010/02/19 Javascript
BOM与DOM的区别分析
2010/10/26 Javascript
基于jquery实现状态限定编辑的代码
2012/02/11 Javascript
循环 vs 递归浅谈
2013/02/28 Javascript
JS HTML5 音乐天气播放器(Ajax获取天气信息)
2013/05/26 Javascript
Javascript中封装window.open解决不兼容问题
2014/09/28 Javascript
如何使用HTML5地理位置定位功能
2015/04/27 Javascript
jquery实现的树形目录实例
2015/06/26 Javascript
解决angular的post请求后SpringMVC后台接收不到参数值问题的方法
2015/12/10 Javascript
Position属性之relative用法
2015/12/14 Javascript
js实现的万能flv网页播放器代码
2016/04/30 Javascript
node.js插件nodeclipse安装图文教程
2020/10/19 Javascript
jquery实现跳到底部,回到顶部效果的简单实例(类似锚)
2016/07/10 Javascript
详解vue之页面缓存问题(基于2.0)
2017/01/10 Javascript
js模仿微信朋友圈计算时间显示几天/几小时/几分钟/几秒之前
2017/04/27 Javascript
jQuery实现返回顶部按钮和scroll滚动功能[带动画效果]
2017/07/05 jQuery
JQuery常见节点操作实例分析
2019/05/15 jQuery
vue项目打包之开发环境和部署环境的实现
2020/04/23 Javascript
Node.js API详解之 assert模块用法实例分析
2020/05/26 Javascript
[01:16:01]VGJ.S vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
[58:37]Serenity vs Fnatic 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
python实现批量转换文件编码(批转换编码示例)
2014/01/23 Python
python3使用pyqt5制作一个超简单浏览器的实例
2017/10/19 Python
python 含子图的gif生成时内存溢出的方法
2019/07/07 Python
关于阿里云oss获取sts凭证 app直传 python的实例
2019/08/20 Python
python如何删除文件、目录
2020/06/23 Python
Sunglass Hut巴西网上商店:男女太阳镜
2020/10/04 全球购物
马来西亚奢侈品牌购物商城:Valiram 247
2020/09/29 全球购物
社区庆中秋节活动方案
2014/02/07 职场文书
公司募捐倡议书
2014/05/14 职场文书
新党章心得体会
2014/09/04 职场文书
基层领导干部“四风”问题批评与自我批评
2014/09/23 职场文书
2016学习依法治国心得体会
2016/01/15 职场文书
Python实战之实现康威生命游戏
2021/04/26 Python