nigix代理失败的排查过程

(天坑的87端口)nginx代理端口不生效,代理87端口遇到的问题及原因 问题原因大概弄清楚了,这个时候才愿意换成88,换了之后果然就正常了,难怪同事老说我又菜又倔,最开始也想过不用87,换成88,89试试,但就是不信邪,总感觉就算换了之后好了,还是不知道为啥,心里不爽,代价就是弄到了凌晨五点,哈哈,好累,可以睡个好觉了。 阅读详情

背景

在刚开始迁移的过程中,由于经常进⾏部署实验,需要⽅便进⾏dns解析更换IP的操作,在预发布域名解析中申请了七层负载均衡的vip,通过vip来调整具体的解析ip

问题

这时问题就发⽣了,在后⼀个版本开发的过程中,前端发现部署到预发布后,所有的后端接⼝全部返回503,⽆法访问。但是直接通过后端域名可以正常调⽤所有接⼝。

前后端分离项⽬,前后端均为独⽴部署。前端通过nginx配置将所有后端请求全部代理⾄后端服务器,对⽤户屏蔽所有后端接⼝。可实现前端暴露在公⽹环境中,⽽后端全部在内⽹环境中,最⼤限度保证了后端接⼝安全。

分析排查

1、后端服务

在遇到这个问题后,⾸先检查后端服务是否有异常,通过postman直接调⽤后端api接⼝,均可正常调⽤,返回值正常。此刻说明后端服务是正常的,问题进⼀步向前排查。

2、后端Nginx

考虑是否在后端Nginx中漏配了server_name,导致nginx⽆法找到对应的server块但是通过检查,这部分配置也并⽆异常,并且通过查看nginx的⽇志⽂件,发现通过前端代理并没有转发到后端Nginx中。

此时基本上已经判断为前端代理失败,进⾏进⼀步排查。

3、Nginx saas配置平台系统

通过联系运维,⼀起排查问题,发现配置、解析并⽆异常,因为是预发布机器,运维建议先使⽤IP直接进⾏代理,不⾛DNS解析。

此时基本上已经确认问题就出在前端Nginx代理上,继续联系前端排查。

4、前端Nginx

  log_format realaddr_54033 '$remote_addr - $remote_user [$time_local]
           "$http_x_forwarded_for" "$http_j_forwarded_for" '
           '"$request" $status $bytes_sent '
           '"$http_referer" "$http_user_agent" '
           '"$gzip_ratio" '
           '$request_time $upstream_response_time';
   server {
       listen 80;
       server_name xxx.com ;
       access_log /export/servers/nginx/logs/xxx.com/xxx.com_access.log realaddr_54033;
       error_log /export/servers/nginx/logs/xxx.com/xxx.com_error.log warn;
       root /export/Instances/xxx/runtime/;
       error_page 302 = http://www.xxx.com/error2.aspx;
       index index.html;
       location / {
               try_files $uri $uri/ /index.html;
       index index.html;
       root /export/Instances/xxx/runtime;
}
       location /api {
           proxy_next_upstream http_500 http_502 http_503 http_504 error timeout
                   invalid_header;
           proxy_set_header Host $host;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_pass http://xxx.com;
       }
       location /logs/ {
               autoindex off;
       deny all;
}
   }

通过检查前端Nginx,并在本地进⾏Nginx实验,结合np官⽅⽂档终于发现了问题:

  1. 前端的机器是公有云服务器,⽆法ping通vip⽹段,需要在Nginx中配置DNS:
resolver 172.16.16.16 10.16.16.16 valid=10s;
复制代码
  1. 也是最主要的原因,在转发的时候设置了错误的Header
proxy_set_header Host $host;

这句也是最致命的问题,由于之前并没有使⽤VIP,域名解析直接到⽬标IP,所以Header中的Host属性并没有太⼤的作⽤,⽽由于配置了负载均衡VIP,需要通过Header中的Host属性找到⽬标IP,⽽这⾥设置的Host为前端的域名,使得VIP⽆法找到⽬标IP,报503错误。

正常代理

设置了错误的Header

总结

1、我们在排查域名访问报错的时候,一定要有清洗的思路排查逻辑

2、使用了VIP转发的时候,一定要注意Header的正确配置

问题排查:nginx的反向代理感觉失效了一样 vnc登录进去后,根据端口号找到对应的进程,发现是Apache HTTP Server,这个东西我也不熟悉,知道它类似于nginx,功能类似,但是几乎一直没用过,所幸,在程序的根目录下,找到了一个配置文件,配置文件中配置了反向代理,将请求反向代理到了服务器C:8088端口。看我上图标红的下面那一行,是我们服务端nginx往客户端发的,68个字节,也有个重传字样,看起来,意思是我们也发生了重传,重传了哪个包呢,就是包2,也就是握手时候的我方回复的syn+ack那个包。查看,我看了我们机器,值为128; 阅读详情

相关推荐

Nginx 无法转发本地端口

本文主要分析解决 centos 下 nginx 配置端口转发后不生效,通过 nginx 配置 server 转发后,无法达到预期的转发目的,并出现502错误的问题。将配置文件修改后,重新访问 http://192.168.0.8 看是否能正确的转发到 http://192.168.0.8:8080 地址。然后重启你的虚拟机 reboot,经过以上二步后 nginx 无法转发本地端口的问题将得到彻底解决。经过修改后,再次访问 http://192.168.0.8 能正常转发到百度,那么说明了一个问题,

hwx865的专栏 1764

【NGINX 代理配置不生效问题】

今天遇到个问题,我代理配置没问题,奈何就是nginx不生效,浏览器换了三个试,都不生效。一度怀疑我的配置写错了,但是最终在自己的各种尝试下解决。本身问题不大,但是有时候容易让人头疼。下面是我的解决方法。nginx 热重载 和 重启 对配置文件的加载区别尚不清楚,如果有大佬看到,可以告知一下原因。

csdn_xiaobai8的博客 2407

从零部署kkFileView 4.0.0:Spring Boot文件在线预览与Nginx反向代理实战

文件在线预览是提升Web应用用户体验的关键技术,其核心原理是将服务器端的各类文档(如Office、PDF)通过格式转换引擎(如LibreOffice)在浏览器端渲染为HTML或图片。这项技术解决了用户无需下载和安装本地软件即可查看文件内容的需求,在文档管理、知识库、网盘等系统中具有重要价值。本文以开源项目kkFileView为例,详细解析其基于Spring Boot的部署流程,并重点介绍如何通过Nginx配置反向代理与超时参数优化,以解决大文件预览时的504 Gateway Time-out等工程实践问题,

weixin_42531516的博客 282

记录一个nginx反向代理无响应的问题

差点放弃,后来突然想起来,我是用docker启动的,没有暴露443端口,有没有可能导致无法访问呢,立马使用。搭建完成后 ,问题来了,http加端口访问依然没问题,但使用http跳转到https始终无法访问。如果有跟我一样是docker启动,且后面才加端口的,可以检查下问题是否和我的一样。(这里注意,我的配置文件是-v 映射出来了的,没有的记得备份相关文件)f12 查看问题现象为,重定向成功,但无任何响应,查看日志也没有报错。开始我还以为我配的有问题,一条条查,百度半天,均失败。nginx代理配置很简单。

qq_37062422的博客 709

在安卓手机部署OpenClaw智能体:Termux+Ubuntu实战与企业微信集成

智能体(Agent)作为AI应用的重要形态,其核心原理在于通过大语言模型理解指令,并调用工具或技能完成特定任务,从而实现自动化与智能化。这项技术的价值在于极大地提升了人机交互的效率和范围,在个人助理、自动化流程、知识管理等领域有广泛的应用前景。本文聚焦于一个极具实践价值的场景:如何在资源受限的安卓移动设备上,部署并运行一个功能完整的开源智能体框架。通过利用Termux提供的Linux环境和Proot容器技术,我们成功构建了一个便携、私密的智能体运行平台,并完成了与企业微信的集成,实现了移动端可扩展的智能助理

weixin_34221036的博客 454

使用Android GPS api 实现一个轨迹记录的小功能

引入 市场上的跑步软件已经是非常多了,如咕咚和悦跑圈还有其他,很多大厂也在涉足这个方面。而最简单的运动跑步,最近几年也因简单,不限场地,运动效果出众备受大众喜欢。 我的这篇文章的内容很多也是从网上学习其他的博客内容,外加利用android自身的提供的api实现的,希望能对有这方面需求的朋友有所帮助。 介绍 先上两张图,界面比较丑,不过一些数据基本都有了,这个图片是临时要用截取的,所以轨迹线很短,之前

尝试着去了解代码 1万+

L2TP连接尝试失败,因为安全层在初始化与远程计算机的协商时遇到一个处理错误。_l2tp连接尝试失败,因为安全层在初始化

第一种是报网络安全专业,现在叫网络空间安全专业,主要专业课程:程序设计、计算机组成原理原理、数据结构、操作系统原理、数据库系统、 计算机网络、人工智能、自然语言处理、社会计算、网络安全法律法规、网络安全、内容安全、数字取证、机器学习,多媒体技术,信息检索、舆情分析等。第二种是自学,就是在网上找资源、找教程,或者是想办法认识一-些大佬,抱紧大腿,不过这种方法很耗时间,而且学习没有规划,可能很长一段时间感觉自己没有进步,容易劝退。③ 了解这些工具的使用场景,懂得基本的使用,推荐在Google上查找。

heike_Ch的博客 5271

Linux服务器 离线安装oracle

Linux服务器 离线安装oracle

xie_bro的博客 4261

一文读懂 Nginx 访问日志与错误日志,从零基础到精通,收藏这篇就够了!

Nginx 是一种广泛使用的 Web 服务器和反向代理,它维护着两个关键日志,这些日志提供了有关其性能和用户交互的宝贵访问日志和错误日志。这些日志在监控和排查 Web 服务器活动方面发挥着关键作用。访问日志记录向服务器发出的每个请求,捕获请求 URL、客户端的 IP 地址、响应状态代码和用户代理等详细信息。此日志有助于了解用户行为、识别热门内容和检测潜在的安全威胁。分析访问日志可帮助 Web 管理员优化网站性能并增强用户体验。另一方面,错误日志捕获有关服务器运行期间遇到的问题的信息。

Python_0011的博客 956

增量式PID的P和I怎么理解(一)

增量式PID的P、I理解之推翻片 据我所知的资料里关于PID三个参数的理解是这样的:(我这里只说P和I,先不说D) P的作用:比例P可以加快系统调节速度,P过小调节时间变长,响应性不够,P越大响应性越高超调也越严重,过大的P会使系统振荡。 I的作用:消除静差,提高控制精度,I越大越滞后,过大会使系统振荡。 ...

fangchenglia的博客 1万+

基于STM32和MPU6050的手势控制小车设计与实现

MPU6050传感器:用于检测手势变化,采集加速度和陀螺仪数据。STM32微控制器:处理MPU6050传感器的数据,根据手势变化控制小车的运动。电机驱动模块:接收来自STM32的控制信号,驱动小车的电机,实现小车的前进、后退、左转和右转。小车底盘:作为整个系统的机械部分,提供移动平台。MPU6050是一款集成了3轴加速度计和3轴陀螺仪的传感器,具有高精度、低功耗和小体积等特点。它通过I2C接口与微控制器通信,可以实时采集加速度和角速度数据,广泛应用于运动检测、姿态控制和手势识别等领域。

m0_57781768的博客 2310

Nginx 新手入门

安装 在centOS上安装nginx,最新版本1.21的要求centOS 7.4.x以上的,我们用的是centOS 7.3,试了一下,也能装。 centOS安装教程在这里,下面简单翻译下,大致这些步骤 安装工具 sudo yum install yum-utils 设置yum的仓库,增加文件ect/yum.repos.d/nginx.repo,内容如下 [nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/c

born' blog, 关注技术(c#,c++,postgreSQL,ace)和金融 220

基于STM32的电子琴音乐播放器设计

​ 本设计以实际电路为最后的结果,实现了所有与其功能,具有重要的现实意义。件,在Proteus中进行原理图绘制,然后把 .hex文件下载到STM32F103RBT6中 进行仿真。由于网络上 下载的 Proteus中 没有 STM32F103RBT6这个芯片型号,我们又从网上 下载芯片 进行仿真。​ 本设计以实际电路为最后的结果,实现了所有与其功能,具有重要的现实意义。

TMMXA的博客 2万+

Nginx健康检查告警

A企业产品经过商业广告的精准运营和加速迭代,逐渐适应了市场的需求,成为了消费者出差旅行中必不可少的伙伴。每天的业务高峰和低谷都维持在比较稳定的频率中,但在业务高峰期,经常有研发反馈自己的业务,部分应用的接口有异常现象出现,影响用户体验和收益指标。运维经过排查后,最终发现是Nginx集群下的某些业务实例已经无法访问,却还在负载中接收请求,从而导致异常。

a319506345的博客 1798

我的二进制漏洞挖掘学习路线

漏洞挖掘也分好多方向:浏览器漏挖,虚拟化,iot,车联网,应用安全等。而且也要区分一下平台,Linux,Android,Windows,还有一些其他的系统。在基础知识拿捏以后,Windows下如OD,windbg,x64dbg。IDA,GDB要会并联调。然后需要了解一下漏洞的知识,漏洞利用的知识。可以从复现漏洞,CTF来学习,学习完之后就可以通过审计源码或者反汇编二进制程序来挖掘。然后就是练就行了,多关注一下最新安全消息,安全漏洞。

qq_36918532的博客 4944

MLC-LLM框架在安卓设备上的模型编译与部署全流程解析

本文详细解析了如何利用MLC-LLM框架在安卓设备上编译与部署大语言模型。从环境搭建、模型获取与量化编译,到最终的安卓应用打包与调试,提供了完整的实战流程。重点介绍了如何通过MLC-LLM将大型模型优化为适合移动端运行的格式,实现本地、低延迟、隐私安全的AI应用部署。

weixin_29251337的博客 475

Mockito模拟静态方法:原理、实战与避坑指南

在Java单元测试中,模拟(Mocking)是隔离依赖、验证逻辑的核心技术。其原理是通过代理机制创建虚拟对象,替代真实依赖的行为。这一技术价值在于提升测试的独立性和执行速度,使开发者能聚焦于被测单元本身。在工程实践中,静态方法因其类级别绑定的特性,长期是模拟的难点,常见于工具类、遗留代码等场景。随着Mockito 4.x引入mockito-inline模块,基于Java Agent和Byte Buddy的字节码操作技术,实现了对静态方法的轻量级、作用域化模拟。这解决了传统方案如PowerMock的配置复杂、

weixin_34198762的博客 430

拉曼光谱入门:7.拉曼光谱仪光学系统结构详解

本文系统拆解了拉曼光谱仪从激光器输出经聚焦照明、二向色镜/陷波滤光片组滤除瑞丽散射、衍射光栅色散至CCD探测的完整光路,阐述了各光学模块在微弱非弹性散射信号提取、杂散光抑制及高分辨光谱成像中的工程原理与技术参数要求。

qq_53529450的博客 224

如何解决Nginx反向代理不生效?

测试 Nginx 配置文件的语法是否正确,(docker中命令为docker exec -it nginx nginx -t )使用docker exec -it nginx bash命令,进入容器,查看了下配置文件,和挂载文件一致。Docker挂载的配置文件启动的Nginx,配置一切正常,但是反向代理不生效,?的,可以正常访问,这时候忽然想到一个问题,静态文件的映射是创建容器时指定了映射目录,确定的是nginx 本身是绝对没问题的,因为代理的。嗯,没什么报错,接下来,打开配置文件,检查下配置。

瑶山的博客 3368

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

nginx配置代理不生效问题

在nginx配置了后端代理。一直不生效,找不到原因。找了半天才发现,将http配置为https,就可以了。

开发随笔 1723

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

nginx反向代理失效,前端无法获取后端的数据,前后端连接不上

比如我们无法直接在浏览器上访问YouTube,但我们开个加速器,就可以访问了,此时这个加速器就是正向代理服务器。这个加速器能访问YouTube,加速器接收到我们的请求后,把请求转发到YouTube,YouTube返回资源给加速器,加速器再返回资源给我们,这就是正向代理。正向代理最大的特点是服务器只清楚请求来自哪个代理服务器,而不清楚来自哪个具体的客户端,正向代理模式屏蔽或者隐藏了真实客户端信息。。

weixin_51451545的博客 5519

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

nginx 代理80端口不生效的解决方案

nginx 代理80端口,访问还会去默认的nginx页面,并且访问80端口的代理的其他路径比如/aaa会报错 not found 404, nginx 1.23.0

m0_69057918的博客 6028

问题排查后,nginx的反向代理感觉失效了一样

vnc登录进去后,根据端口号找到对应的进程,发现是Apache HTTP Server,这个东西我也不熟悉,知道它类似于nginx,功能类似,但是几乎一直没用过,所幸,在程序的根目录下,找到了一个配置文件,配置文件中配置了反向代理,将请求反向代理到了服务器C:8088端口。看我上图标红的下面那一行,是我们服务端nginx往客户端发的,68个字节,也有个重传字样,看起来,意思是我们也发生了重传,重传了哪个包呢,就是包2,也就是握手时候的我方回复的syn+ack那个包。查看,我看了我们机器,值为128;

wdj_yyds的博客 1540

Nginx 配置反向代理不生效(代理到nacos集群)

反向代理无法生效的解决方案

m0_50119649的博客 3445

nginx配置后转发没有生效的一个坑个人总结

nginx配置规则还是有点复杂的,在此只总结下本人遇到的一个坑与解决方法,具体原因还不清楚。

BHSZZY的博客 1万+

【BUG】Nginx转发失败解决方案

这个项目后端使用的是gateway网关和nacos实现动态的路由,前端使用nginx来管理前端资源,大体流程:浏览器发起请求,经过nginx代理,转到gateway网关服务上,然后gateway根据路径,动态得路由到各个服务。最近在做项目的时候出现了一个问题,琢磨了好久,来浅浅记录一下。下面的成功的配置截图,方便以后遇到相似问题查看~

每天進步一點點 4092
上一篇: parallelStream并行流性能
下一篇: 你总要一个人学习分布式服务框架,最后才能惊艳到所有人
Java技术那些事儿
博客等级 码龄5年 2306粉丝 2584原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值