当前位置:首页 > 技术文章 > 正文内容

nginx将post请求转为了get请求问题分析

arlanguage4个月前 (12-25)技术文章33

部署并配置nginx后,然后用postman工具测试,发送一个post请求,结果却返回400错误。

post请求

nginx配置如下所示:

location /nadminv/ {

proxy_pass http://localhost:8251/nadminv;

proxy_set_header HOST $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

作用是将请求转发到本地端口8251的http程序进行处理。

查看nginx日志,发现并没有错误日志,但access.log确实也产生了,说明post请求到达了nginx。奇怪的是,access.log中出现了两条记录,第一条post返回301错误码,紧接着收到同样的get请求,返回400。

nginx日志

其中301错误码为重定向,说明因为nginx的配置问题导致了发生重定向!

经过网上搜索解答,果然是配置问题,在location后的地址最后不用加斜线,即配置为:

location /nadminv {

proxy_pass http://localhost:8251/nadminv;

proxy_set_header HOST $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

重启nginx后再测试发送post指令,则最后请求正常。


nginx是最常用的代理/反向代理服务器,涉及它的配置还是挺多的,本文记录在日常使用中遇到的nginx问题,给自己总结,也希望对读者有所帮助。

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/442.html

标签: nginx get参数
分享给朋友:

“nginx将post请求转为了get请求问题分析” 的相关文章

使用 Nginx 部署 Java web 服务

比较早之前,部署 Java web 服务只是单纯使用 Tomcat 做 Web 服务器,前后端代码融合在一个工程之中。Tomcat 启动后对外提供一个端口接收和相应 http请求。随着 Nginx 得越来越流行,同时加上其优秀的反向代理和负载均衡功能,我们在线上的 Java web 通常会结合二者,...

PHP nginx配置 配置nginx支持php

在配置 PHP 和 nginx 以运行 PHP 应用程序时,您需要进行以下步骤:安装 nginx 和 PHP:如果您的系统上尚未安装 nginx 和 PHP,请根据您的操作系统的说明来安装它们。配置 nginx:您需要为 PHP 应用程序创建 nginx 服务器配置。您可以使用以下代码作为模板:ph...

CentOS安装nginx

安装nginx第一步,查看是否安装,没有我们就开始安装:rpm -qa| grep nginx第二步,安装依赖包。(1)gcc安装。由于nginx是c语言写的,因此在安装nginx前需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,则需要安装:yum install gcc-c...

使用nginx对视频、音频、图片等静态资源网址,加token签权

目前很多静态资源,都可以无权限验证,进行访问或转发,对有价值的资源进行签权,限制转发无法在代码中实现拦截,我们可以使用nginx对视频、音频、图片等静态资源网址,加token签权如:http://192.168.1.22/123.mp3http://192.168.1.22/123.m3u8http...

logstash+ES+kibana搭建日志收集分析系统

日志监控和分析在保障业务稳定运行时,起到了很重要的作用,不过一般情况下日志都分散在各个生产服务器,且开发人员无法登陆生产服务器,这时候就需要一个集中式的日志收集装置,对日志中的关键字进行监控,触发异常时进行报警,并且开发人员能够查看相关日志。logstash+elasticsearch+kibana...

405状态码Nginx解决办法

最近由于业务系统并发量比较大,所以在已有负载均衡的基础上,我们做了Nginx动静分离,但是系统访问后报错,经过F12(浏览器开发者模式)和Nginx日志分析,发现请求状态变成了405,故百度解释如下:问题原因: 请求的方式(get、post、delete)方法与后台规定的方式不符合。比如: 后台方...