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 相关文章推荐
Centos7.7 64位利用本地完整安装包安装lnmp/lamp套件教程
Mar 09 Servers
为什么 Nginx 比 Apache 更牛逼
Mar 31 Servers
详解Nginx启动失败的几种错误处理
Apr 01 Servers
nginx限制并发连接请求数的方法
Apr 01 Servers
Nginx location 和 proxy_pass路径配置问题小结
Sep 04 Servers
nginx负载功能+nfs服务器功能解析
Feb 28 Servers
Kubernetes部署实例并配置Deployment、网络映射、副本集
Apr 01 Servers
Dashboard管理Kubernetes集群与API访问配置
Apr 01 Servers
如何通过cmd 连接阿里云服务器
Apr 18 Servers
Tomcat配置访问日志和线程数
May 06 Servers
超越Nginx的Web服务器caddy优雅用法
Jun 21 Servers
教你使用Ubuntu搭建DNS服务器
Sep 23 Servers
nginx中proxy_pass各种用法详解
Apache POI的基本使用详解
nginx实现动静分离的方法示例
Nginx内网单机反向代理的实现
Nov 07 #Servers
zabbix自定义监控nginx状态实现过程
总结高并发下Nginx性能如何优化
Rhit高效可视化Nginx日志查看工具
You might like
AM/FM收音机的安装与调试
2021/03/02 无线电
zf框架的校验器使用使用示例(自定义校验器和校验器链)
2014/03/13 PHP
CodeIgniter框架数据库事务处理的设计缺陷和解决方案
2014/07/25 PHP
javascript编程起步(第二课)
2007/01/10 Javascript
几个高效,简洁的字符处理函数
2007/04/12 Javascript
浅析jQuery的链式调用之each函数
2010/12/03 Javascript
仿新浪微博返回顶部的jquery实现代码
2012/10/01 Javascript
js控制web打印(局部打印)方法整理
2013/05/29 Javascript
3种Jquery限制文本框只能输入数字字母的方法
2014/12/03 Javascript
详解AngularJS中自定义过滤器
2015/12/28 Javascript
微信小程序中post方法与get方法的封装
2017/09/26 Javascript
薪资那么高的Web前端必看书单
2017/10/13 Javascript
javascript实现获取一个日期段内每天不同的价格(计算入住总价格)
2018/02/05 Javascript
小程序input数据双向绑定实现方法
2019/10/17 Javascript
Pyramid将models.py文件的内容分布到多个文件的方法
2013/11/27 Python
Python基于有道实现英汉字典功能
2015/07/25 Python
利用python如何处理nc数据详解
2018/05/23 Python
详解python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'如何解决
2019/08/27 Python
python tkinter图形界面代码统计工具(更新)
2019/09/18 Python
windows下的pycharm安装及其设置中文菜单
2020/04/23 Python
python中tab键是什么意思
2020/06/18 Python
Python爬虫教程知识点总结
2020/10/19 Python
Python GUI之tkinter窗口视窗教程大集合(推荐)
2020/10/20 Python
python Protobuf定义消息类型知识点讲解
2021/03/02 Python
创建索引时需要注意的事项
2013/05/13 面试题
数学专业推荐信范文
2013/11/21 职场文书
高中军训广播稿
2014/01/14 职场文书
党支部创先争优活动总结
2014/08/28 职场文书
毕业横幅标语
2014/10/08 职场文书
四风问题查摆剖析材料
2014/10/11 职场文书
门卫岗位职责
2015/02/09 职场文书
2015大学生暑假调查报告
2015/07/13 职场文书
2015年国庆放假通知范文
2015/08/18 职场文书
小学作文指导之如何写人?
2019/07/08 职场文书
导游词之阳朔遇龙河
2019/12/16 职场文书
基于docker安装zabbix的详细教程
2022/06/05 Servers