近日,遇到一个需求,希望通过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的参数也会丢失。