app本地請求是http端口,后來升級https強制301跳轉,設置如下:
配置nginx.conf
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.XXX.com; break ; } rewrite ^/(.*)$ https://www.XXX.com/$1 permanent; } }