Nginx代理接口访问返回404
Nginx代理接口访问返回404
一、背景
因为不同业务系统间有接口调用,存在跨域问题,为了解决同源策略,需要将接口通过nginx去转发,但是配置完后通过postman请求一直存在访问404的问题。
访问地址:https://a.test.com/nsyapi/oauth/loginOther
被代理接口地址:https://b.prod.com/api/oauth/loginOther
二、Nginx配置后的现象

postman请求接口出现404报错

三、原因
由于proxy_pass请求头出现问题导致返回404。可以在配置中添加一些相关的请求头来解决这个问题。例如

在这个配置中,我们添加了三个新的请求头Host、X-Real-IP和X-Forwarded-For,这可以帮助我们正确地将请求传递到目标服务器,并确保我们收到正确的响应。
四、 解决办法
去掉 proxy_redirect off;
增加 proxy_set_header Host $proxy_host;

postman请求接口正常
命令行验证接口请求成功
[root@Nginx-01 yukw]# curl -H "Content-Type: application/json" -X POST -d '{"mobile":"18763823456","source":"aa","type":"3","route":"orderList?order_id=233&renew=abc"}' "https://b.prod.com/api/oauth/loginOther"
{"code":1,"result":"dbb1623e-1747-4017-b8e8-96ace309982f","msg":"登录成功"}[root@Nginx-01 yukw]# curl -H "Content-Type: application/json" -X POST -d '{"mobile":"18763823456","source":"aa","type":"3","route":"orderList?order_id=233&renew=abc"}' "https://a.test.com/nsyapi/oauth/loginOther"
{"code":1,"result":"f23b2a24-dd7e-464e-bc1f-a4806097e252","msg":"登录成功"}
五、总结:
1、确认proxy_pass指向的地址是否正确;
2、确认目标服务器是否正常;
3、确认proxy_pass请求头的正确性;
好了,这就是Nginx代理接口访问返回404的解决办法了,如有问题可与博主一起交流讨论!
参考:https://pythonjishu.com/nvsknuuxbmoexma/
相关文章:
Nginx代理接口访问返回404
Nginx代理接口访问返回404 一、背景 因为不同业务系统间有接口调用,存在跨域问题,为了解决同源策略,需要将接口通过nginx去转发,但是配置完后通过postman请求一直存在访问404的问题。 访问地址:https://a.test.com/n…...
湘大 XTU OJ 1097 排序 题解:c++ 函数库的使用 快速排序 归并排序 冒泡排序
一、链接 1097 排序 二、题目 Description N个整数,将其排序输出。 输入 第一行是一个整数K(1<K<20),表示有多少个样例,每个样例的第一行是一个整数N(1<N<1,000)和一个字符X&…...
Stable Diffusion AI绘图教学
课程介绍下载 这门课程将教授学生使用Stable Diffusion AI绘图工具进行数据可视化和图形设计。学生将学习基本的绘图原理、数据分析技巧,以及如何使用Stable Diffusion AI创建高质量的图表和可视化作品。通过实践项目和案例研究,学生将提升绘图技能&…...
39、传输层的任务和协议
从本节内容开始,我们学习TCP/IP模型的传输层的知识。传输层是TCP/IP模型中的重要组成部分,如果没有传输层的处理,那么源主机发送的IP数据包到达目的主机之后,目的主机将不知道这个数据是哪个应用程序的数据,就不能很好…...
系统架构设计专业技能 · 网络规划与设计(三)【系统架构设计师】
系列文章目录 系统架构设计专业技能 网络规划与设计(三)【系统架构设计师】 系统架构设计专业技能 系统安全分析与设计(四)【系统架构设计师】 系统架构设计高级技能 软件架构设计(一)【系统架构设计师…...
使用Matplotlib判断鼠标是否点击在当前线上的详细指南
系列文章目录 文章目录 系列文章目录前言一、导入必要的库二、创建图表和线条三、定义鼠标点击事件处理函数四、显示图表总结前言 Matplotlib是一个强大的绘图库,用于在Python中创建各种类型的图表和可视化。本文将详细介绍如何使用Matplotlib来判断鼠标是否点击在当前线上,…...
http get、post、put
HTTP协议定义了多种请求方法,用于不同的操作。最常见的有 GET、POST 和 PUT。 GET:GET 是最常用的方法,通常用于请求服务器发送某个资源。GET 请求只通过 URL 传送数据,数据信息会附在 URL 之后,以参数的形式附加。由于这种传送方式的限制,GET 请求的数据量较小,且安全性…...
仅使用 CSS 创建打字机动画效果
创建打字机效果比您想象的要容易。虽然实现这种效果的最常见方法是使用 JavaScript,但我们也可以使用纯 CSS 来创建我们的打字机动画。 在本文中,我们将了解如何仅使用 CSS 创建打字机动画效果。它简单、漂亮、容易。我们还将看看使用 CSS 与 JavaScrip…...
pytest fixture 高级使用
一、fixture中调用fixture 举例: 输出: 说明:登录fixture 作为参数传递到登出方法中,登录方法的返回值就可以被登出方法使用 二、在fixture中多参数的传递(通过被调用函数传参) 举例: 输出&a…...
远程控制医疗行业应用解析:如何满足医院合规需求?
远程控制医疗行业应用解析:如何满足医院合规需求? 作为一个起源于IT行业的技术,以远程桌面为基础的远程控制技术目前在医疗领域也已经有了比较广阔的应用前景,尤其是在医疗数字化系统/设备的远程运维场景,已经有了一些…...
【C++】开源:glog日志库配置使用
😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍glog日志库配置使用。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,下次…...
使用 React Native CLI 创建项目
React Native 安装的先决条件和设置 需要掌握的知识点 掌握 JavaScript 基础知识掌握 React 相关基础知识掌握 TypeScript 相关基础知识 安装软件前需要首先安装Chocolatey。Chocolatey 是一种流行的 Windows 包管理器。 安装 nodejs 和 JDK choco install -y nodejs-lts …...
在R中将列表(list)转换为向量(vector)
问题:将列表中的所有元素“展平”,赋值给一个向量 解决方案:使用unlist()函数; 在许多情况下需要向量,例如,baseR中的许多统计函数需要一个向量作为输入,例如,如果iq.score是一个包…...
access怎么做进销存?借助access开发进销存管理应用
我不太推荐使用Access,因为他的缺点还是比较明显的: 1、软件自身限制 不能用于互联网:使用Access制作好的管理软件,访问页只能在局域网中使用;只能在Windows上运行:Access仅支持windows的运行环境&#x…...
css实现卡片的左上角有一个三角形的遮盖效果
需求: 卡片的左上角有一个绿色的三角形标签,用来区分状态 实现: .vCard{position: relative;overflow: hidden; } .vCard::before {content: "";position: absolute;top: 0;left: 0;width: 0;height: 0;border-bottom: 20px solid transparent;border-left: 20px …...
中间件RabbitMQ消息队列介绍
1. MQ的相关概念 1.1 什么是MQ MQ(message queue),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已,还是一种跨进程的通信机制,用于上下游传递消息…...
MySQL不知道密码,直接修改密码
很简单,我们跳过验证,直接进去修改就好 修改配置文件 vim /etc/my.cnf在[mysqld]下直接添加配置 skip-grant-tables如图: 保存,退出即可。 重启服务 service mysqld restart进入MySQL #(直接点击回车,密码为空)…...
Win10关闭自动更新的方法和影响(Windows modules installer worker cpu占用过高)
目录 问题描述: Windows modules installer worker是什么? Win10关闭自动更新的方法: Win10关闭自动更新的影响: 问题描述: 有时我们在使用电脑的过程中会突然出现电脑运行过慢,发热,风扇噪…...
Xcode 基座打包
Xcode基座打包-APP更新版本内容无效 问题:解决: 问题: 使用xcode基座打包之后,上传到appstore进行提审发布。 用户在appstore商城进行更新下载,打开更新后的APP发现版本号是最新的,APP里面的其他内容还是上…...
最强自动化测试框架Playwright(9)- 下载文件
对于页面下载的每个附件,都会发出 page.on(“download”) 事件。 下载开始后,将发出下载事件。下载完成后,下载路径将变为可用 所有这些附件都下载到一个临时文件夹中。可以使用事件中的下载对象获取下载 URL、文件系…...
多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...
srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...
Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...
