1. 程式人生 > >nginx 301跳轉https後post請求失效問題解決

nginx 301跳轉https後post請求失效問題解決

失效 request 問題 ati oca serve options pos 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

來轉發,將參數傳遞給服務,nginx配置如下.

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請求失效問題解決