Vue 通过Nginx部署报 405 Not Allowed 错误

之前Nginx的配置是这样的

location ~ ^/(api|oss)  {
                rewrite ^/(.*)$ /goview/$1;
                proxy_set_header X-Forwarded-For $remote_addr;
                proxy_set_header Host            $http_host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_pass http://xx.xx.xx.xx:20235;
        }

报错误,这个问题的原因就是rewrite重写后请求的返回类型变成text/html了,而nginx不允许post之类请求返回静态资源。

修改如下之后就好了

location ~ ^/(api|oss)  {
                rewrite ^/(.*)$ /goview/$1 break;
                proxy_set_header X-Forwarded-For $remote_addr;
                proxy_set_header Host            $http_host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_pass http://xx.xx.xx.xx:20235;
        }

 就是在rewrite 后面加了个break ,但是看break 的说明没搞明白啥情况

实例演示Nginx重写(Rewrite)类型区别https://blog.csdn.net/lxh_worldpeace/article/details/106228270

不过这个地方又说了可以这么用

nginx rewrite proxy_pass breakhttps://juejin.cn/s/nginx%20rewrite%20proxy_pass%20break

你可能感兴趣的:(Vue,vue.js,nginx,前端)