项目背景:前端vue,后端springboot
有一个文件上传接口,在本地测试,没问题,项目打包,放到nginx进行代理后,上传报
405 not allowed
我的解决方案,将这个特殊接口做一次代理转发,nginx.conf配置文件如下:

server {
    listen    8080;
    server_name  xx.xx.xx.xx;
    # 这里省略部分配置
    # 下面这个请求路由就是我的文件上传服务,因为文件上传服务是POST请求,所以继续转发时用POST
    location /api/file/upload {
           proxy_method POST;
           proxy_pass   http://xx.xx.xx.xx:9000$request_uri;
           proxy_set_header user_token $http_user_token;
    }
}

网上很多人说,将405错误进行转发,我测试过,也是可以的。
顺带一提:上面我配置的proxy_set_header user_token $http_user_token;这是获取自定义请求头,再转发的时候给带上。比如:我的项目前端有个user_token的自定义请求头,到这里,进行转发的时候也要带上,就可以根据$http_加上自定义的请求头名称来获取.
关于获取请求头的文章参考自:https://blog.csdn.net/xbynet/article/details/51899286

Logo

前往低代码交流专区

更多推荐