Nginx代理转发请求POST变GET请求问题

  • 🚀 注重版权,转载请注明原作者和原文链接

  • 🥭 作者:Yuan-Programmer

  • 🍎 个人博客:https://boke.open-yuan.com

  • 🍉 已经替换了新的域名,总站叫做:OpenYuan开袁网,后续将慢慢开源一些项目上去,目前是只有一个博客平台

只想看解决结果的,可以直接拉到最底下看代码

问题

起因是这样的,之前重新买了一个新的服务器,这几天有空闲便将我之前的博客项目平台重新部署上去。

先贴个修改前的Nginx配置文件

强制http转发到https,重定向,先部署的前端,访问一切正常

但是做接口请求代理转发的时候,出现问题了

前端项目请求一直请求失败

排查

先直接通过IP+后端项目端口请求接口,正常可以请求到没问题,那么就是nginx配置的问题

起初我以为是配置哪里没有写对,反复看了好几遍配置,修修改改,都没什么问题

最后去Apifox测试下,看看是不是也是一样,就在这时候发现了一样东西

是不是很奇怪,明明我发起的是POST请求,结果转发成了GET请求,于是顺藤摸瓜,排查到了原来是由http强制重定向成https时候出现的问题

重定向,nginx会重新发起一道新的请求到重定向的地址,而nginx默认使用GET请求方式转发所有的请求,所以才会把POST变成GET(这里夸赞一波文心一言,还不错,比讯飞好用多了)

解决

到这里,问题一切都明了了,调整一下重定向的配置

return 307:用于临时重定向,保留原来的请求方式
rewrite:常用的地址跳转方式,兼容正则表达式,推荐使用这种方式

rewrite ^(.*)$ https://$host$1;

哎,太久没部署过项目了,这么简单的问题居然都忘了,这次长长记性

相关推荐
Johny_Zhao5 小时前
网络安全等级保护测评实施方案
linux·网络·人工智能·网络安全·信息安全·云计算·等保测评·系统运维·itsm
落羽的落羽6 小时前
【AI】快速理解AI应用的相关名词概念
linux·c++·人工智能·python·计算机网络·算法
刚入门的大一新生6 小时前
Linux-进程控制
linux·运维·服务器·c++
上火的金鱼妹6 小时前
K8S基础组件作用和关系整理
linux·运维·服务器·kubernetes
Vcaker6 小时前
Linux学习25-harbor私有仓库部署
linux·运维·学习
刃神太酷啦6 小时前
Redis 进阶核心:持久化 (RDB/AOF)、事务与主从复制全解析----《Hello Redis!》(5)
linux·c语言·数据库·c++·redis·缓存·bootstrap
编程的一拳超人6 小时前
DeepSeek Harness Linux/macOS/Windows 本地下载、启动与模型配置指南
linux·windows·macos·deepseek
时凌云.7 小时前
【2026最新】JDK 下载安装与环境配置全教程(Windows/Mac/Linux 三平台,零基础友好)
java·linux·macos
不懂的浪漫7 小时前
ToDesk 连接 Linux 后分辨率过低的解决方法
linux·运维·数据库
广州灵眸科技有限公司8 小时前
从手动三步到上电即连:4G模组systemd开机自连方案
linux·运维·服务器·开发语言·网络·人工智能·php