nginx 301跳轉https後post請求失效問題解決
阿新 • • 發佈:2019-01-22
失效 request 問題 ati oca serve options pos nginx配置 來轉發,將參數傳遞給服務,nginx配置如下.
app本地請求是http端口,後來升級https強制301跳轉,設置如下
server {
listen 80;
server name www.XXX.com;
rewrite ^/(.*)$ https://www.XXX.com/$1 permanent;
}
問題描述及原因
強制把http請求跳轉到https,結果發現App有部分的功能不能使用,因為App一共設置了4種請求方式,分別是GET,POST,DELETE和OPTIONS方式,設置301跳轉後所有的請求方法都變成了GET方式,導致一些功能無法正常使用.
http請求方式
問題解決
解決思路也很簡單,所有GET請求直接301跳轉不用管,非GET請求的用proxy_pass
server {
listen 80;
server_name www.XXX.com;
location / {
if ($request_method ~ ^(POST|DELETE|OPTIONS)$) {
proxy_pass https://www.XXXX.com;
break ;
}
rewrite ^/(.*)$ https://www.XXX.com/$1 permanent;
}
}
參考鏈接: https://segmentfault.com/q/1010000007026578
nginx 301跳轉https後post請求失效問題解決