个人随笔
目录
坑爹问题,前后端分离项目文件上传nginx返回405 not allow
2024-06-13 11:33:20

有个前后端分离项目,本地是可以上传文件成功的,但是部署到服务器上,就失败,nginx一直返回405 not allow,网上都说是Apache、IIS、Nginx等绝大多数web服务器,都不允许静态文件响应POST请求,否则会返回“HTTP/1.1 405 Method not allowed”错误。

  1. error_page 405 =200 http://$host$request_uri;

然后我加上,果然不报错了,但是文件没有上传成功,后面又找到第二个方案。将这个特殊接口做一次代理转发,nginx.conf配置文件如下:

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

上面我配置的proxyset_header user_token $http_user_token;这是获取自定义请求头,再转发的时候给带上。比如:我的项目前端有个user_token的自定义请求头,到这里,进行转发的时候也要带上,就可以根据$http加上自定义的请求头名称来获取.

然而还是不行!


最终原因,是因为前端文件上传路径写错了,没有在nginx中转发到后台服务器,直接当作静态资源文件post请求了,妈的搞了几个钟,就是没有留意这点,毕竟本地是正常的!

 9

啊!这个可能是世界上最丑的留言输入框功能~


当然,也是最丑的留言列表

有疑问发邮件到 : suibibk@qq.com 侵权立删
Copyright : 个人随笔   备案号 : 粤ICP备18099399号-2