近日,遇到一個需求,希望通過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的參數也會丟失。