https方式传小文件提示403Forbidden

postman 测试发现:https上传文件时大文件上传没问题,小的kb文件或者M文件上传提示:403Forbidden
拒绝上传

img

上传成功

img

测试的接口是自定义的接口吗。
403 Forbidden是HTTP协议中的一个状态码(Status Code)。可以简单的理解为没有权限访问此站。该状态表示服务器理解了本次请求但是拒绝执行该任务,该请求不该重发给服务器。

据你的观察,上传小文件==> 403,上传大文件==》200

但实际这个状态码并不能说明什么,只有成功和不成功的区别,因为使用什么状态码是由接口开发人员自定义的,那么就有两种情况

1. 开发人员尽量使用状态码的语义来表明服务器拒绝原因

按照语义,出现以下情况时,通过403状态码来拒绝请求:

  1. 客户端没有提供有效身份凭据
  2. 客户端提供了身份凭据但是权限不足以进行保存操作
  3. 本次请求csrf校验失败,获取其他安全规则校验失败
  4. 文件写入类操作,在执行时遇到文件权限问题导致失败
  5. 其他业务逻辑明确约定的限制,比如文件大小、文件格式、文件内容

但是结合大文件可以上传,那么前两个可以排除了,
第三个需要确认一下使用启用csrf之类的安全校验,这类安全校验通常要求不同的请求传递不同的校验值,
所以会出现某个请求可以成功,但是修改内容之后再请求就失败了

第四个可能性也不大,

第五个,需要看需求文档或者接口文档,

2. 开发人员不使用状态码的语义来表明服务器拒绝原因

那么403本身没有意义,和400、401没有区别,仅仅是表示请求失败了

解决思路

  1. 查看后端的系统日志 ,看一下状态码时webserver给出的,还是接口代码给出了的,为什么情况下接口代码给出403
  2. 查看需求文档和接口问题,确认时403的业务规则要求,还是接口bug,然后根据原因进行调整

你这个是不是小文件拒绝上传吧;可能是服务端判断了文件的扩展名吧。