nginx做http强制跳转https,接口的POST请求变成GET

现象:

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

 原因:

http强制跳转https出现了问题。

解决办法:

修改nginx配置如下即可解决:

server {
    listen       80;
    server_name  *.asd.cn;

    return 307 https://$host$request_uri;
}

301 Moved Permanently

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

307 Temporary Redirect

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

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

原文地址:https://www.cnblogs.com/John-2011/p/14817697.html