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开启Brotli压缩算法实现过程详解
Mar 31 Servers
Mac环境Nginx配置和访问本地静态资源的实现
Mar 31 Servers
Nginx反向代理配置的全过程记录
Jun 22 Servers
nginx作grpc的反向代理踩坑总结
Jul 07 Servers
nginx配置虚拟主机的详细步骤
Jul 21 Servers
学习nginx基础知识
Sep 04 Servers
Nginx速查手册及常见问题
Apr 07 Servers
微信告警的zabbix监控系统 监控整个NGINX集群
Apr 18 Servers
nginx lua 操作 mysql
May 15 Servers
linux目录管理方法介绍
Jun 01 Servers
openEuler 搭建java开发环境的详细过程
Jun 10 Servers
在虚拟机中安装windows server 2008的图文教程
Jun 28 Servers
nginx中proxy_pass各种用法详解
Apache POI的基本使用详解
nginx实现动静分离的方法示例
Nginx内网单机反向代理的实现
Nov 07 #Servers
zabbix自定义监控nginx状态实现过程
总结高并发下Nginx性能如何优化
Rhit高效可视化Nginx日志查看工具
You might like
磨咖啡豆的密诀
2021/03/03 冲泡冲煮
PHP使用imagick读取PDF生成png缩略图的两种方法
2014/03/20 PHP
Zend Framework教程之配置文件application.ini解析
2016/03/10 PHP
jQuery获得内容和属性示例代码
2014/01/16 Javascript
javascript 获取函数形参个数
2014/07/31 Javascript
JS的location.href跳出框架打开新页面的方法
2014/09/04 Javascript
jQuery实现的淡入淡出二级菜单效果代码
2015/09/15 Javascript
javascript从作用域链谈闭包
2020/07/29 Javascript
canvas绘制的直线动画
2017/01/23 Javascript
JavaScript实现网页头部进度条刷新
2017/04/16 Javascript
webpack自动打包和热更新的实现方法
2019/06/24 Javascript
jquery插件开发模式实例详解
2019/07/20 jQuery
使用js和canvas实现时钟效果
2020/09/08 Javascript
python通过get,post方式发送http请求和接收http响应的方法
2015/05/26 Python
基于pandas将类别属性转化为数值属性的方法
2018/07/25 Python
django项目搭建与Session使用详解
2018/10/10 Python
使用Python开发SQLite代理服务器的方法
2018/12/07 Python
Python字符串的常见操作实例小结
2019/04/08 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
2019/11/15 Python
Pandas的数据过滤实现
2021/01/15 Python
Stuart Weitzman欧盟:美国奢华鞋履品牌
2017/05/24 全球购物
应聘教师自荐信
2013/10/12 职场文书
高考自主招生自荐信
2013/10/20 职场文书
工程造价专业大学生职业生涯规划书
2014/01/18 职场文书
最新创业融资计划书
2014/01/19 职场文书
医学生职业生涯规划书范文
2014/03/13 职场文书
幼儿园教研活动总结
2014/04/30 职场文书
捐款倡议书格式范文
2014/05/14 职场文书
项目经理任命书范本
2014/06/05 职场文书
机关党员四风问题个人整改措施
2014/10/26 职场文书
实习介绍信模板
2015/01/30 职场文书
工作迟到检讨书范文
2015/05/06 职场文书
药品销售员2015年终工作总结
2015/10/22 职场文书
利用前端HTML+CSS+JS开发简单的TODOLIST功能(记事本)
2021/04/13 Javascript
Python中time与datetime模块使用方法详解
2022/03/31 Python
教你使用Ubuntu搭建DNS服务器
2022/09/23 Servers