Nginx图片上传超过一定大小提示跨域


博客上线使用有一段时间了,文章封面一直用的死板的logo图标。心血来潮打算把老本行相关的文章(前端相关)封面换成喜欢的纸片人,结果当我像往常一样上传封面时,竟然报了这么个错误

跨域报错

跨域?!后端明明控制好了,也用了这么一段时间了,怎么会突然出现跨域错误。且多次上传发现,只有超过1m的图片才会出现跨域错误,小于1m的可以正常上传,于是开始排查问题

  • 跨域控制方法 - 未执行
  • node限制文件大小 - 5m没问题
  • 本地测试环境运行 - 没问题

综合几点似乎和代码本身没有关系,而且我的博客的请求是通过nginx反向代理到node服务的,矛头似乎最终指向了Nginx服务器。

经过一番面向搜索引擎编程,了解到:Ngnix限制了最大文件上传的大小,默认为1M

解决方式

在对应的nginx反向代理至node的配置文件中修改,添加该行代码

1
2
3
4
5
location /test {
# ...
# 设置最大文件体大小为 5M
client_max_body_size 5M ;
}

然后systemctl reload nginx重启nginx即可解决。

说白了还是技艺不精呀

所以为什么报的是跨域错误?