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访问日志及错误日志参数说明
Mar 31 Servers
nginx 多个location转发任意请求或访问静态资源文件的实现
Mar 31 Servers
如何在centos上使用yum安装rabbitmq-server
Mar 31 Servers
nginx服务器的下载安装与使用详解
Aug 02 Servers
Nginx缓存设置案例详解
Sep 15 Servers
总结高并发下Nginx性能如何优化
Nov 01 Servers
图文详解nginx日志切割的实现
Jan 18 Servers
nginx从安装到配置详细说明(安装,安全配置,防盗链,动静分离,配置 HTTPS,性能优化)
Feb 12 Servers
Tomcat用户管理的优化配置详解
Mar 31 Servers
Windows Server 2019 域控制器安装图文教程
Apr 28 Servers
nginx之queue的具体使用
Jun 28 Servers
apache虚拟主机配置的三种方式(小结)
Jul 23 Servers
nginx中proxy_pass各种用法详解
Apache POI的基本使用详解
nginx实现动静分离的方法示例
Nginx内网单机反向代理的实现
Nov 07 #Servers
zabbix自定义监控nginx状态实现过程
总结高并发下Nginx性能如何优化
Rhit高效可视化Nginx日志查看工具
You might like
使PHP自定义函数返回多个值
2006/11/26 PHP
比较时间段一与时间段二是否有交集的php函数
2011/05/31 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
2015/03/25 PHP
PHP中trait使用方法详细介绍
2017/05/21 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
网页javascript精华代码集
2007/01/24 Javascript
使用JS 清空File控件的路径值
2013/07/08 Javascript
Jquery创建一个层当鼠标移动到层上面不消失效果
2013/12/12 Javascript
给html超链接设置事件不使用href来完成跳
2014/04/20 Javascript
jquery mobile页面跳转后样式丢失js失效的解决方法
2014/09/06 Javascript
使用不同的方法结合/合并两个JS数组
2014/09/18 Javascript
node.js下LDAP查询实例分享
2015/09/30 Javascript
JavaScript类型检测之typeof 和 instanceof 的缺陷与优化
2016/01/13 Javascript
简单模拟node.js中require的加载机制
2016/10/27 Javascript
浅谈js中的this问题
2017/08/31 Javascript
Angular服务Request异步请求的实例讲解
2018/08/13 Javascript
JavaScript实现单图片上传并预览功能
2019/09/30 Javascript
vue实现计算器功能
2020/02/22 Javascript
用jQuery实现抽奖程序
2020/04/12 jQuery
js禁止查看源文件屏蔽Ctrl+u/s、F12、右键等兼容IE火狐chrome
2020/10/01 Javascript
Python函数的周期性执行实现方法
2016/08/13 Python
Python3使用pandas模块读写excel操作示例
2018/07/03 Python
对PyTorch torch.stack的实例讲解
2018/07/30 Python
Python 仅获取响应头, 不获取实体的实例
2019/08/21 Python
Selenium基于PIL实现拼接滚动截图
2020/04/10 Python
美国主要的特色咖啡和茶公司:Peet’s Coffee
2020/02/14 全球购物
学前教育专业毕业生自荐信
2013/10/03 职场文书
初中政治教学反思
2014/01/17 职场文书
2014新年元旦活动策划方案
2014/02/18 职场文书
王老吉广告词
2014/03/20 职场文书
民政局办理协议离婚(范本)
2014/10/25 职场文书
投标承诺函范文
2015/01/21 职场文书
分析Python感知线程状态的解决方案之Event与信号量
2021/06/16 Python
js 数组 fill() 填充方法
2021/11/02 Javascript
vue-cil之axios的二次封装与proxy反向代理使用说明
2022/04/07 Vue.js
Python pyecharts案例超市4年数据可视化分析
2022/08/14 Python