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 相关文章推荐
destoon在各个服务器下设置URL Rewrite(伪静态)的方法
Jun 21 Servers
nginx 反向代理之 proxy_pass的实现
Mar 31 Servers
Nginx URL重写rewrite机制原理及使用实例
Apr 01 Servers
Nginx进程管理和重载原理详解
Apr 22 Servers
Nginx+Tomcat负载均衡集群的实现示例
Oct 24 Servers
Rhit高效可视化Nginx日志查看工具
Nov 01 Servers
Nginx工作模式及代理配置的使用细节
Mar 21 Servers
Nginx 常用配置
May 15 Servers
Docker与K8s关系介绍不会Docker也可以使用K8s
Jun 25 Servers
nginx静态资源的服务器配置方法
Jul 07 Servers
详解apache编译安装httpd-2.4.54及三种风格的init程序特点和区别
Jul 15 Servers
SpringBoot前端后端分离之Nginx服务器下载安装过程
Aug 14 Servers
nginx中proxy_pass各种用法详解
Apache POI的基本使用详解
nginx实现动静分离的方法示例
Nginx内网单机反向代理的实现
Nov 07 #Servers
zabbix自定义监控nginx状态实现过程
总结高并发下Nginx性能如何优化
Rhit高效可视化Nginx日志查看工具
You might like
PHP实现Javascript中的escape及unescape函数代码分享
2015/02/10 PHP
thinkPHP中钩子的两种配置调用方法详解
2016/11/11 PHP
告诉大家什么是JSON
2008/06/10 Javascript
jQuery学习笔记[1] jQuery中的DOM操作
2010/12/03 Javascript
Javascript 闭包引起的IE内存泄露分析
2012/05/23 Javascript
ajax不执行success回调而是执行了error回调
2012/12/10 Javascript
jquery easyui 对于开始时间小于结束时间的判断示例
2014/03/22 Javascript
javascript 中的 delete及delete运算符
2015/11/15 Javascript
微信小程序 less文件编译成wxss文件实现办法
2016/12/05 Javascript
vue.js动态数据绑定学习笔记
2017/05/19 Javascript
基于hover的用法实例(推荐)
2017/07/04 Javascript
基于vue-ssr的静态网站生成器VuePress 初体验
2018/04/17 Javascript
原生js实现拖拽功能基本思路详解
2018/04/18 Javascript
vue router带参数页面刷新或回退参数消失的解决方法
2019/02/27 Javascript
vue组件传值的实现方式小结【三种方式】
2020/02/05 Javascript
vscode中的vue项目报错Property ‘xxx‘ does not exist on type ‘CombinedVueInstance<{ readyOnly...Vetur(2339)
2020/09/11 Javascript
python进阶教程之动态类型详解
2014/08/30 Python
python数据类型_元组、字典常用操作方法(介绍)
2017/05/30 Python
Python基于回溯法子集树模板解决最佳作业调度问题示例
2017/09/08 Python
Pandas读取并修改excel的示例代码
2019/02/17 Python
python简单鼠标自动点击某区域的实例
2019/06/25 Python
python实现二分类和多分类的ROC曲线教程
2020/06/15 Python
Django生成数据库及添加用户报错解决方案
2020/10/09 Python
伯克斯奥特莱斯:Burkes Outlet
2019/03/30 全球购物
澳洲的UGG雪地靴超级市场:Uggs.com.au
2020/04/06 全球购物
工程现场管理求职自荐信
2013/10/02 职场文书
一封普通求职者的求职信
2013/11/20 职场文书
大学生怎样进行自我评价
2013/12/07 职场文书
七年级历史教学反思
2014/02/05 职场文书
团代会闭幕词
2015/01/28 职场文书
医生个人年度总结
2015/02/28 职场文书
高三毕业感言
2015/07/30 职场文书
小学数学教师研修感悟
2015/11/18 职场文书
基于flask实现五子棋小游戏
2021/05/25 Python
纯CSS3实现div按照顺序出入效果
2021/07/15 HTML / CSS
mapstruct的用法之qualifiedByName示例详解
2022/04/06 Java/Android