在VueJS PUT请求上获取403禁止

时间:2019-10-03 08:33:16

标签: laravel apache nginx

为什么只有在CentOS 7 vps服务器上的put请求API上我才得到403禁止错误(当get / post运行良好时)?

同一部分在共享托管服务器上和从localhost运行都很好。

我正在使用“ Nginx + Varnish + Apache”

每当我尝试执行任何PUT请求时,这就是响应:

禁止 您无权访问此服务器上的/ api / path / to / my / api。

3 个答案:

答案 0 :(得分:0)

您将不得不使用POST方法以及_method = PUT作为表单数据:

                let editUrl ="";                     
                 if (this.id) {
                        this.data._method = 'PUT';
                        this.data.id = this.id;
                        editUrl = editUrl + "/" + this.id;
                    }

                  axios.post(editUrl, this.data)
                    .then(resp => {

                    })
                    .catch(() => {

                    });
            }

答案 1 :(得分:0)

与GET和POST不同,您必须明确允许对端点的PUT请求。您应该查看您的.htaccess设置。 This question addresses the same concernthis also

答案 2 :(得分:0)

通过以下条件配置您的apache虚拟主机:

<Limit GET POST PUT OPTIONS>
    Require all granted
</Limit>
<LimitExcept GET POST PUT OPTIONS>
    Require all denied
</LimitExcept>

也许您的问题解决了。