广告
返回顶部
首页 > 资讯 > 服务器 >Nginx的mirror指令示例配置
  • 494
分享到

Nginx的mirror指令示例配置

2024-04-02 19:04:59 494人浏览 安东尼
摘要

目录mirror 流量复制有什么实际用处?举个实际使用的例子:灰度验证注意点mirror 流量复制 Nginx的 mirror 指令来自于 ngx_Http_mirror_modul

mirror 流量复制

Nginx的 mirror 指令来自于 ngx_Http_mirror_module 模块 Nginx Version > 1.13.4

mirror 指令提供的核心功能就是流量复制, 至于流量复制要用来干嘛,这个就各取所需了。

先看一段示例配置:

location / {
    # 开启流量复制
    mirror /mirror;
    proxy_pass http://backend;
}

# 复制的流量转发到这里
location = /mirror {
    # internal 标志该location只为内部的重定向服务, 外面来的返回404
    internal;
    # $request_uri 需要显示指明,因为流量复制过来之后会丢掉request_uri
    proxy_pass http://test_backend$request_uri;
}

有什么实际用处?举个实际使用的例子:

上篇写了Nginx的map指令用法其中提到的一个使用cookie进行多环境分流的例子,同样的场景, 基于cookie分流遇到的一个问题是:对于第三方的回调请求支持不友好, 因为第三方不可能携带我们自定义的cookie来回调我们。这样说可能没参与项目的不太好理解, 简单说是这样的: 比如我在3环境和腾讯云做了交互, 之后腾讯云会回调3环境的一个接口(因为测试多环境使用同一个域名),完犊子了吧,因为腾讯云没有带我们分环境的cookie, 因此我在3环境的这个交互一定是无法完成的。

那么如何解决这个问题? mirror 指令可以解决。

- Nginx 会丢弃 mirror 的响应 : 这一点很重要

为了解决第三方回调的问题,我们开启了Nginx的mirror, 把回调接口的请求复制到测试所有环境内,总有一个是目标环境(从业务上说即使回调到其他环境也无所谓,所以直接镜像到所有环境), 配置大致是这样:

location /notify/v1.0/ {
    mirror  /test-01;
    mirror  /test-02;
    mirror  /test-03;
    mirror  /test-04;
    mirror  /test-05;
    mirror  /test-06;
    mirror  /test-07;
    mirror  /test-08;
    mirror  /test-09;
    mirror  /test-10;
}
location = /test-01 {
    internal;
    # 头信息视情况添加/删除
    proxy_pass_header Server;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_pass http://upstream_test-01$request_uri;
}
upstream upstream_test-01 {
    server 1.1.1.1:80 weight=100 max_fails=10 fail_timeout=60s;
}

再举个实际的例子

灰度验证

提供给一个思路: 比如你需要改动线上的都个配置,但是不确定是不是有问题的时候, 这个时候其实可以使用一下mirror的流量复制, 先在灰度环境改掉,然后使用mirror镜像线上流量到灰度验证,这时候你只需要观测灰度的请求是否正常即可。(当然可以自动化程度高一些,自由发挥), 也可以使用 split_client 指令做部分流量的验证。

注意点

Nginx会丢弃mirror响应,但是如果mirror过去的请求一直无响应或响应慢的时候,这时会影响主请求的响应速度的。需要注意,一般不会把POST/PUT等会影响数据状态的请求做镜像的, 除非你明确清楚的知道这样产生的影响并且可以接受.

到此这篇关于Nginx的mirror指令能干啥?的文章就介绍到这了,更多相关Nginx的mirror指令内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Nginx的mirror指令示例配置

本文链接: https://www.lsjlt.com/news/148628.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Nginx的mirror指令示例配置
    目录mirror 流量复制有什么实际用处?举个实际使用的例子:灰度验证注意点mirror 流量复制 Nginx的 mirror 指令来自于 ngx_http_mirror_modul...
    99+
    2022-11-13
  • nginx配置指令之server_name的具体使用
    目录前言server_name指令精确匹配配置 通配符模式配置正则表达式配置server_name与host匹配优先级如下:如果都不匹配前言 作为nginx的http模块中...
    99+
    2022-11-13
    nginx server_name
  • laravel之nginx配置站点的示例
    这篇文章主要为大家展示了laravel之nginx配置站点的示例,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“laravel之nginx配置站点的示例”这篇文章吧。Laravel 是什么Larav...
    99+
    2023-06-06
  • nginx 配置指令之location使用详解
    目录前言配置策略具体属性介绍Nginx是支持世界上所有网站三分之一的Web服务器。因为轻巧,模块化,用户友好的配置格式以强大的反向代理能力,Nginx迅速取代其他Web服务器成了互联...
    99+
    2022-11-13
  • nginx rails站点配置的示例分析
    这篇文章给大家分享的是有关nginx rails站点配置的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Ruby on Rails 是一个用于开发数据库驱动的网络应用程序的完整框架。Rails基于MVC(...
    99+
    2023-06-04
  • nginx常用配置conf的示例代码详解
    nginx常用配置conf 代理静态文件 # 静态文件 server { # 压缩问价你配置 gzip on; gzip_min_length 1k; ...
    99+
    2022-11-13
  • Vuejs+vue-router打包+Nginx配置的示例分析
    这篇文章主要为大家展示了“Vuejs+vue-router打包+Nginx配置的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vuejs+vue-rou...
    99+
    2022-10-19
  • nginx中怎么利用referer指令配置防盗链
    今天就跟大家聊聊有关nginx中怎么利用referer指令配置防盗链,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。实现图片防盗链:1location ~* \.(gif|jpg|pn...
    99+
    2023-06-05
  • Nginx Gzip模块启用和配置指令有哪些呢
    Nginx Gzip模块启用和配置指令有哪些呢,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。这篇文章主要介绍了Nginx Gzip模块启用和配置指令详解的,需要...
    99+
    2023-06-05
  • CentOS系统rpm安装Nginx和配置的示例分析
    小编给大家分享一下CentOS系统rpm安装Nginx和配置的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!CentOS rpm安装Nginx和配置官方下载地址: http://nginx.org/en/downl...
    99+
    2023-06-22
  • Nginx工作模式及代理配置的示例分析
    小编给大家分享一下Nginx工作模式及代理配置的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、Nginx 的工作模式1.单进程模式单进程模式下,Ngi...
    99+
    2023-06-29
  • Nginx防盗链与服务优化配置的示例分析
    这篇文章给大家分享的是有关Nginx防盗链与服务优化配置的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。隐藏nginx版本号查看版本号方法一:curl命令可以在 CentOS 中使用命令 curl -I ...
    99+
    2023-06-26
  • CentOS中网络配置命令的示例分析
    小编给大家分享一下CentOS中网络配置命令的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!我们在进行对CentOS的网络配置时,一般会从IP地址(IPA...
    99+
    2023-06-10
  • Element指令clickoutside的示例分析
    小编给大家分享一下Element指令clickoutside的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!clickoutside是Element-ui实现的一个自定义指令,顾名...
    99+
    2022-10-19
  • Nginx四层负载均衡的配置指南
    一、四层负载均衡介绍 什么是四层负载均衡 所谓四层负载均衡,也就是主要通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。 以常见的TCP...
    99+
    2022-11-12
  • Nginx配置文件nginx.conf的基本配置实例详解
    目录前言1. Nginx配置样例2. Nginx负载均衡方式2.1 轮询2.2 权重2.3 Nginx解决集群共享session问题的方案3. Nginx动静分离(静态资源...
    99+
    2022-11-13
  • linux查看硬件配置命令的方法示例
    硬件查看命令 系统   # uname -a # 查看内核/操作系统/CPU信息   # head -n 1 /etc/issue # 查看操作系统版本   # cat /proc/cpuinfo # 查看CPU...
    99+
    2022-06-04
    linux 查看服务器硬件
  • Linux mysql dump配置与调试命令的示例分析
    这篇文章主要为大家展示了“Linux mysql dump配置与调试命令的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux mysql dump配置与调试命令的示例分析”这篇文章...
    99+
    2023-06-16
  • Vue自定义指令的示例分析
    这篇文章主要介绍Vue自定义指令的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在 AngularJs 中,它的指令使用 directive ( name,factor_fu...
    99+
    2022-10-19
  • Angular1.x复杂指令的示例分析
    这篇文章主要介绍了Angular1.x复杂指令的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体如下:名称描述compile指定一...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作