jQuery AJAX 传递base64 数据,Nginx 报403 错误

题目描述

jQuery 用Ajax 传递一个图片到后台,服务端用的Nginx 代理

  1. 不存在跨域问题
  2. 不走Nginx 直接访问tomcat 的话可以成功
  3. 其他Ajax 调用都能成功

题目来源及自己的思路

使用postman 试了半天之后发现结果出现在参数上面
参数格式为:data:image/png;base64, 开头,并且提交方式为form-data或者x-www-form-urlencoded的时候Nginx 就会抛出403 的错误
使用raw 的时候就没问题

错误信息

<html>
    <head>
        <title>403 Forbidden</title>
    </head>
    <body bgcolor="white">
        <center>
            <h1>403 Forbidden</h1>
        </center>
        <hr>
        <center>HillstoneNetworks</center>
    </body>
</html>
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->

想知道Nginx 为什么会产生这个问题

阅读 3.2k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题