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实现反向代理
Sep 20 Servers
Nginx + consul + upsync 完成动态负载均衡的方法详解
Mar 31 Servers
Nginx 过滤静态资源文件的访问日志的实现
Mar 31 Servers
Filebeat 采集 Nginx 日志的方法
Mar 31 Servers
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
Jul 07 Servers
nginx反向代理配置去除前缀案例教程
Jul 26 Servers
Nginx内网单机反向代理的实现
Nov 07 Servers
Apache Hudi 加速传统的批处理模式
Apr 24 Servers
如何Tomcat中使用ipv6地址
May 06 Servers
在容器中使用nginx搭建上传下载服务器
May 11 Servers
基于docker安装zabbix的详细教程
Jun 05 Servers
windows server2016安装oracle 11g的图文教程
Jul 15 Servers
nginx中proxy_pass各种用法详解
Apache POI的基本使用详解
nginx实现动静分离的方法示例
Nginx内网单机反向代理的实现
Nov 07 #Servers
zabbix自定义监控nginx状态实现过程
总结高并发下Nginx性能如何优化
Rhit高效可视化Nginx日志查看工具
You might like
PHP 中的一些经验积累
2006/10/09 PHP
PHP静态类
2006/11/25 PHP
自编函数解决pathinfo()函数处理中文问题
2014/11/03 PHP
通过修改referer下载文件的方法
2008/05/11 Javascript
JavaScript 组件之旅(一)分析和设计
2009/10/28 Javascript
js下获取div中的数据的原理分析
2010/04/07 Javascript
JQuery里选择超链接的实现代码
2011/05/22 Javascript
javascript为下拉列表动态添加数据项
2014/05/23 Javascript
由ReactJS的Hello world说开来
2015/07/02 Javascript
Javascript将数字转化成为货币格式字符串
2016/06/22 Javascript
jQuery源码解读之extend()与工具方法、实例方法详解
2017/03/30 jQuery
JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】
2017/04/24 Javascript
详解Angular5 服务端渲染实战
2018/01/04 Javascript
jQuery替换节点元素的操作方法
2018/03/18 jQuery
vue3.0生命周期的示例代码
2020/09/24 Javascript
Python正规则表达式学习指南
2016/08/02 Python
利用python 更新ssh 远程代码 操作远程服务器的实现代码
2018/02/08 Python
python基于物品协同过滤算法实现代码
2018/05/31 Python
Python3随机漫步生成数据并绘制
2018/08/27 Python
python原类、类的创建过程与方法详解
2019/07/19 Python
HTML5+CSS3实例 :canvas 模拟实现电子彩票刮刮乐代码
2016/12/30 HTML / CSS
美国高端寝具品牌:Coyuchi
2017/02/08 全球购物
伯克斯奥特莱斯:Burkes Outlet
2019/03/30 全球购物
《台湾的蝴蝶谷》教学反思
2014/02/20 职场文书
事务机电主管工作职责
2014/02/25 职场文书
高中军训感言600字
2014/03/11 职场文书
担保书怎么写
2014/04/01 职场文书
英语专业求职信
2014/07/08 职场文书
食品仓管员岗位职责
2015/04/01 职场文书
公司财务人员岗位职责
2015/04/14 职场文书
有关西游记的读书笔记
2015/06/25 职场文书
80后创业总结的9条职场用人思想,记得收藏
2019/08/13 职场文书
创业计划书之少年玩具店
2019/09/05 职场文书
如何让vue长列表快速加载
2021/03/29 Vue.js
Python selenium模拟网页点击爬虫交管12123违章数据
2021/05/26 Python
阿里云ECS云服务器快照的概念以及如何使用
2022/04/21 Servers