如何解決Nginx請(qǐng)求轉(zhuǎn)發(fā)將POST變?yōu)镚ET問(wèn)題
先說(shuō)問(wèn)題
我配置了Nginx代理,目的是將請(qǐng)求轉(zhuǎn)發(fā)到指定的后端,對(duì)于普通的JSON數(shù)據(jù),沒(méi)有什么問(wèn)題。
但是有文件上傳的就不一樣了,我需要指定到第3方的地址。
然而常規(guī)的配置完成后,Nginx實(shí)際的轉(zhuǎn)發(fā)動(dòng)作改變了我的請(qǐng)求方式
location /abd/def/uploadFile/ { proxy_pass http://x.com:y/abc/def/uploadFiles; }
導(dǎo)致第3方服務(wù)器報(bào)錯(cuò)如圖
解決方法
Nginx 配置 307
其作用如下:
1.return 307
是 Nginx 配置中的一個(gè)指令,用于返回一個(gè)指定的 HTTP 狀態(tài)碼,并重定向到客戶端發(fā)出的相同請(qǐng)求地址。當(dāng)使用 return 307
> 時(shí),Nginx 將會(huì)保留客戶端發(fā)出的原始請(qǐng)求方法和請(qǐng)求體,并以 307 Temporary Redirect 的狀態(tài)碼將請(qǐng)求重定向回客戶端。
2.307 狀態(tài)碼表示臨時(shí)重定向,客戶端應(yīng)該繼續(xù)使用原始的請(qǐng)求方式和請(qǐng)求體重新發(fā)送請(qǐng)求。與 302 Found 和 303 See Other 不同的是,307 狀態(tài)碼要求客戶端不要更改請(qǐng)求方式(例如,POST 轉(zhuǎn)為 GET),并且要保持請(qǐng)求的完整性。
3.在某些情況下,您可能希望通過(guò) return 307
來(lái)實(shí)現(xiàn)臨時(shí)重定向,同時(shí)保留原始請(qǐng)求方式和請(qǐng)求體。這可以用于讓客戶端重新發(fā)送相同請(qǐng)求,而不會(huì)丟失任何數(shù)據(jù)或更改請(qǐng)求方式。
配置如下
location /abd/def/uploadFile/ { return 307 http://x.com:y/abc/def/uploadFiles; }
最后轉(zhuǎn)發(fā)成功!
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot前端后端分離之Nginx服務(wù)器下載安裝過(guò)程
Nginx是一款輕量級(jí)的Web服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,這篇文章主要介紹了SpringBoot前端后端分離之Nginx服務(wù)器,需要的朋友可以參考下2022-08-08Nginx中404頁(yè)面的配置及AJAX請(qǐng)求返回404頁(yè)面的方法
404是請(qǐng)求頁(yè)面不存在的錯(cuò)誤代碼,在Nginx中有時(shí)處理jQuery中的ajax方法雖然能返回404頁(yè)面但錯(cuò)誤代碼卻返回200,針對(duì)此問(wèn)題我們具體來(lái)看一下Nginx中404頁(yè)面的配置及AJAX請(qǐng)求返回404頁(yè)面的方法2016-05-05Keepalived+Nginx+Tomcat 實(shí)現(xiàn)高可用Web集群的示例代碼
這篇文章主要介紹了Keepalived+Nginx+Tomcat 實(shí)現(xiàn)高可用Web集群的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09Nginx PHP-Fcgi中因PHP執(zhí)行時(shí)間導(dǎo)致504 Gateway Timeout錯(cuò)誤解決記錄
這篇文章主要介紹了Nginx PHP-Fcgi中因PHP執(zhí)行時(shí)間導(dǎo)致504 Gateway Timeout錯(cuò)誤解決記錄,本文的解決方法得來(lái)不易,需要的朋友可以參考下2014-09-09CentOS6使用nginx搭建web網(wǎng)站服務(wù)的方法
這篇文章主要介紹了CentOS6使用nginx搭建web網(wǎng)站服務(wù)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-07nginx部署前端項(xiàng)目后刷新瀏覽器報(bào)錯(cuò)404問(wèn)題解決
現(xiàn)在前端頁(yè)面部署正常訪問(wèn),但是刷新的時(shí)候出現(xiàn)了404,所以下面給整理下,這篇文章主要給大家介紹了關(guān)于nginx部署前端項(xiàng)目后刷新瀏覽器報(bào)錯(cuò)404問(wèn)題的解決辦法,需要的朋友可以參考下2023-11-11詳解Nginx服務(wù)器的nginx-http-footer-filter模塊配置
這篇文章主要介紹了Nginx服務(wù)器的nginx-http-footer-filter模塊配置,nginx-http-footer-filter用作在請(qǐng)求的頁(yè)面底部插入代碼,需要的朋友可以參考下2016-01-01