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配置并兼容HTTP实现代码解析
Mar 31 Servers
Nginx已编译的nginx-添加新模块
Apr 01 Servers
nginx结合openssl实现https的方法
Jul 25 Servers
Nginx反向代理至go-fastdfs案例讲解
Aug 02 Servers
Rhit高效可视化Nginx日志查看工具
Nov 01 Servers
nginx中proxy_pass各种用法详解
Nov 07 Servers
Apache Pulsar集群搭建部署详细过程
Feb 12 Servers
nginx负载功能+nfs服务器功能解析
Feb 28 Servers
搭建Yolov5服务器
Apr 30 Servers
超越Nginx的Web服务器caddy优雅用法
Jun 21 Servers
彻底卸载VMware虚拟机的超详细步骤记录
Jul 15 Servers
nginx sticky实现基于cookie负载均衡示例详解
Dec 24 Servers
nginx中proxy_pass各种用法详解
Apache POI的基本使用详解
nginx实现动静分离的方法示例
Nginx内网单机反向代理的实现
Nov 07 #Servers
zabbix自定义监控nginx状态实现过程
总结高并发下Nginx性能如何优化
Rhit高效可视化Nginx日志查看工具
You might like
phpmyadmin显示utf8_general_ci中文乱码的问题终级篇
2013/04/08 PHP
PHP中类型转换 ,常量,系统常量,魔术常量的详解
2017/10/26 PHP
Yii框架操作cookie与session的方法实例详解
2019/09/04 PHP
解决PHP curl或file_get_contents下载图片损坏或无法打开的问题
2019/10/11 PHP
laravel model 两表联查示例
2019/10/24 PHP
详解no input file specified 三种解决方法
2019/11/29 PHP
JavaScript 的方法重载效果
2009/08/07 Javascript
jquery判断checkbox(复选框)是否被选中的代码
2010/10/20 Javascript
javascrpt绑定事件之匿名函数无法解除绑定问题
2012/12/06 Javascript
各种常用的JS函数整理
2013/10/25 Javascript
node.js中的fs.writeFileSync方法使用说明
2014/12/14 Javascript
jquery实现textarea输入框限制字数的方法
2015/01/15 Javascript
基于node下的http小爬虫的示例代码
2018/01/11 Javascript
微信小程序保存图片到相册权限设置
2020/04/09 Javascript
Vue中keep-alive组件的深入理解
2020/08/23 Javascript
python 判断自定义对象类型
2009/03/21 Python
好用的Python编辑器WingIDE的使用经验总结
2016/08/31 Python
Python协程的用法和例子详解
2017/09/09 Python
Python实现返回数组中第i小元素的方法示例
2017/12/04 Python
Scrapy基于selenium结合爬取淘宝的实例讲解
2018/06/13 Python
Python中反射和描述器总结
2018/09/23 Python
python查看模块安装位置的方法
2018/10/16 Python
python滑块验证码的破解实现
2019/11/10 Python
python 统计文件中的字符串数目示例
2019/12/24 Python
Pycharm 使用 Pipenv 新建的虚拟环境(图文详解)
2020/04/16 Python
Python Selenium自动化获取页面信息的方法
2020/08/31 Python
美国著名珠宝品牌之一:Jared The Galleria Of Jewelry
2016/10/01 全球购物
捷克浴室和厨房设备购物网站:SIKO
2018/08/11 全球购物
软件测试题目
2013/02/27 面试题
Servlet的生命周期
2013/08/25 面试题
职业生涯规划书的格式
2013/12/29 职场文书
公证书标准格式
2014/04/10 职场文书
市场营销工作计划书
2014/05/06 职场文书
教师个人查摆剖析材料
2014/10/14 职场文书
2014年化验室工作总结
2014/11/21 职场文书
2016年“我们的节日·端午节”活动总结
2016/04/01 职场文书