当前位置: 首页 > article >正文

Nginx通过设置自定义标记识别代理调用

Nginx通过设置自定义标记识别代理调用

业务场景

最近遇到一个业务场景,部署在云端服务器的一个平台,接口提供给多个现场调用,其中一个现场是通过nginx代理服务器代理转发到云服务器,另外一个现场则是直接通过云服务器接口进行调用。其中通过代理服务器访问的需要对图片路径进行特殊业务处理,所以在代码层面需要进行区分,一时想不到很好的方法,在公司和同事主管讨论,通过ai咨询到一个好的方法,如图:
在这里插入图片描述

解决方法

nginx转发请求时,可以添加自定义请求头信息来标记请求来源,在nginx中对应位置添加

proxy_set_header X-Proxy-Source "LocalProxy"

例子,在nginx.conf里加上对应的自定义标记

server {
    listen    80;
    server_name  192.168.1.123;
    root         /usr/share/nginx/html;
    include /etc/nginx/default.d/*.conf;
    location / {
        proxy_pass http://test;
        proxy_set_header X-Proxy-Source "LocalProxy";
    }
}

在代码里获取请求头信息,分为两种情况:

  • 如果X-Proxy-Source有值且为LocalProxy,则判定为通过代理服务器调用
  • 如果X-Proxy-Source拿不到数据,则判定为通过云服务器端调用

http://www.kler.cn/a/533937.html

相关文章:

  • doris:临时分区
  • 电子电器架构 --- 电子电气架构设计要求与发展方向
  • Windows下怎么安装FFFmpeg呢?
  • 排序算法--快速排序
  • Leetcode922: 按奇偶排序数组 II
  • 深入探索Vue 3组合式API
  • VMware Win10下载安装教程(超详细)
  • 《手札·开源篇》基于开源Odoo软件与Deepseek的智能企业管理系统集成方案
  • R语言 | 使用 ComplexHeatmap 绘制热图,分区并给对角线分区加黑边框
  • Noise Conditional Score Network
  • 玩转goroutine:Golang中对goroutine的理解
  • 多用户同时RDP登入Win10
  • 大型三甲医院算力网络架构的深度剖析与关键技术探索
  • JAVA 二维列表的基础操作与异常
  • python实现多路视频,多窗口播放功能
  • LeetCode:647.回文子串
  • java进阶专栏的学习指南
  • HTML5 教程之标签(3)
  • 2025春招,深度思考MyBatis面试题
  • 修剪二叉搜索树(力扣669)
  • 2025最新软件测试面试大全
  • 实现一个 LRU 风格的缓存类
  • java进阶1——JVM
  • 通过C/C++编程语言实现“数据结构”课程中的链表
  • Leetcode—159. 至多包含两个不同字符的最长子串【中等】Plus
  • ip属地是手机号还是手机位置?一文理清