nginx反向代理POST請求
在使用nginx反向代理POST請求的時候,錯誤配置情況
location /sms/sendSmsLocal/ {
proxy_pass http://localhost:10086/sms/sendSmsLocal/;
}
這樣配置會出現的問題
- 原本發出的請求是POST請求,經過nginx轉發以後就會變成GET請求
- 原本POST請求攜帶的請求體經過轉發以後會丟失,正確配置代理POST請求
location /sms/sendSmsLocal {
proxy_pass http://localhost:10086/sms/sendSmsLocal;
proxy_redirect off;
}
- location 後邊跟的路徑不要以 / 結尾
- 由於nginx代理會將我們的請求攔截後在做一次重定向,在這個過程中我們的請求攜帶的請求體就會丟失,解決辦法就是屏蔽掉轉發 通過 proxy_redirect off; 可以解決