Nginx强制跳转https 接口的POST请求变成GET

强制跳转https   307   301   运维技术  

场景

域名配置了http强制跳转htpps后发现app发起post请求会出现405错误。

Nginx配置

  • 有问题
rewrite /.* https://$host$uri permanent;  
  • 解决办法
return 307 https://xxx.xxx.com$request_uri;  

关于301和307

  • 301 Moved Permanently

    被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个 URI 之一

  • 307 Temporary Redirect

    请求的资源现在临时从不同的URI 响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求

  • 从上面我们可以看出,301跳转是永久重定向,而307是临时重定向。这就是301跳转与307跳转两者之间的区别