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