nginx-405post问题解决


近日,遇到一个需求,希望通过nginx配置一个url,能够返回一个json,来实现app的一个功能。

于是,很简单的想到,在服务器放一个文件,用nginx代理一下,代码就写好了,代码如下

location ^~ /front3/versionsManager/getUpdateVersion.do {
alias /data/upload/getUpdateVersion.do;
}

 

后来发现,返回的是html,不是json,于是增加了返回类型

location ^~ /front3/versionsManager/getUpdateVersion.do {
default_type application/json;
alias /data/upload/getUpdateVersion.do;
}

 

再后来测试时候发现,客户端调用的时候

客户端用是方法是post,不是get,查阅多个资料修改如下

 

location ^~ /front3/versionsManager/getUpdateVersion.do {
default_type application/json;
alias /data/upload/getUpdateVersion.do;
error_page 405 =200 http://$host$request_uri;
}

当post请求nginx的location的时候,就会报405,于是在location中,增加了405异常的接受,首先,转成200,然后再次用get访问这个接口。

 

这种方式,只适用于没有任何内容的post请求,不然body的参数也会丢失。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM