上传文件超过1M,报跨域错误 问题现象: 今天在和前端同事调试商品管理功能时候,给商品上传图片不能正常上传。抛出:
Access to XMLHttpRequest at 'https://xxx/manageapi/file/upload' from origin 'http://xxx:18080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
提示CORS error
跨域了。
定位过程: 当前端同事抛出这个问题后,我立马进行了复测:
查看服务端对文件上传的限制,发现文件大小限制的是800M(排除服务端限制问题) 使用POST MAN 测试本地接口,依然正常运行(排除接口错误问题) 使用POST MAN 测试线上(此时我用的是IP地址直接访问)接口,依然正常运行(排除线上环境问题?这么一套组合拳下来感觉没有任何问题呀,我丢) 发现前端通过的是域名的方式访问后台服务,然后规规矩矩使用域名测试接口,复现了这个问题(大于1M的文件报跨域错误) 原因:
我司测试环境域名和Nginx服务器绑在一起的,并不是直接和后台服务绑定,所以请求是通过Ngnix反向代理后提交给后端服务。原因就是Ngnix限制了最大文件上传的大小。查阅资料,默认Nginx最大文件体大小为1M。
解决方案: 调整Nginx默认限制的最大文件的大小
location /manageapi { proxy_pass http://127.0.0.1:18080; proxy_set_header Host $host; # 设置最大文件体大小为 800M client_max_body_size 8000M; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
重启Nginx ./nginx -s reload 即可
本文为大海原创文章,转载无需和我联系,但请注明来自大海博客https://www,ypyunedu.com
goland2022.3 破解 Docker快速构建HaProxy集群,并配置好rabbitmq的负载均衡 docker快速搭建kafka集群 使用docker-compose 编排基础分布式架构 使用Consul配合Nginx实现动态负载均衡 Grafana + Prometheus监控篇之Windows监控Linux服务器资源 php zookeeper实现分布式锁 macvlan 用于 Docker 网络 千万级别数据mysql distinct group by redis实现分布式锁 SkyWalking 针对 gRPC 的负载均衡和自动扩容实践 kafka 新建消费组 如何消费信息 jenkins安装 sentinel Hystrix 部署 docker consul集群 Docker Jenkins 自己部署 Docker Kong MySQL查看数据库性能常用命令 docker磁盘空间不足解决办法 激活navicat提示rsa public key not find的问题 Warning: docker.service changed on disk. Run ‘systemctl daemon-reload‘ to reload unit docker 编辑Dockerfile 添加php7.2 acpu php curl error code linux查看文件指定的前几行和后几行的命令 swoole 知识小课堂 mysql索引慢查询于b+树 zend_mm_heap corrupted 使用opcache出状况 postman 遇到坑了post无法请求 上传文件超过1M,报跨域错误 win10 无法启动dhcp client服务 Jetbrains2021,Jetbrains2020,Jetbrains2019,Jetbrains2018等系列产品无限重置试用方法教程: phpexcel的大量数据导出[内存溢出测试验证] php aws 文件上传设置content_type 逐行处理并截取数据后二次指定字符串截取写入新文件 图片上传封装 aws 文件公网直接访问 SourceTree推送时检测不到本地分支解决办法 kibana查询语法 逐行处理并截取数据写入新文件 php-fpm 进程异常断开[记一次线上问题处理] 解决新版wampserver 2/3个服务都没有运行问题和wamp启动后无任何提示如何启动 phpstrom 插件之翻译工具 网页视频文件转换为MP4(.m3u8转为mp4),非命令行转换,想命令的别看这篇 Could not create token :Using integers for registered date claims is deprecated, please use DateTimeImmutable objects instead. Kibana 的安装(Windows版本) 秒级定时任务 mysql 查询优化 索引 type级别 springBoot 启动 If you want an embedded database (H2, HSQL or Derby), please put it on the classpath. jquery 获取 option id的值和多传参数的 Git 笔记 mq 队列项目中一些实践场景 php 数组一维按key拆分和替换二维数组的key php低版本的条形码如何生成mpdf.6.0.1 navivat连接不上 2003-Can‘t connect to Mysql server on ‘xxx‘ (10060 “Unknown error“) 阿里云漏洞提示修复,不用花钱 货拉拉搬家优惠卷,无忧搬家优惠券 phpstrom常用快捷键 idea java 快速生成命令 phpexcel,excel导入导出封装类 wampserver配置域名(php 开发环境) easysoole WebSocket connection to failed: Error in connection establishment: net::ERR_ 如果获取某库的文件,在把它转换成自己想要的格式 ppt自动下载 eclipse安装spring插件 Eclipse IDE for Java Developers - 2020-06 安装maven phpstrom sftp 使用和2021.1版本 sftp配置 php接入was s3相关问题记录 postman 添加token到headers实现自动登录 SourceTree gitlab 某大公司一面二面 某上市公司一面二面 面试笔记 小算法集合 腾讯tars微服务安装笔记 magento 开发记录 VMware - 虚拟机下CentOS7配置固定IP的方法 windows laravel中使用ElasticSearch详情 fastadmin无法上传视频和文件上传到七牛的操作 七牛云配置遇到的一些问题 fastadmin 令牌数据无效 navicat 提示 cat not open named pipe to host: pipe:/tmp/mysql.sock(2) YApi使用遇到的问题 IntelliJ IDEA全家桶激活 phpstrom2019 pystrom2019 破解 windows命令行 cmder CentOS 7部署frp穿透内网服务器 shell 定时备份mysql 上传七牛云 postman多环境配置token自动登录配置 laravel 中的定时任务不执行(出现用户权限不够导致失败问题解决 ) 利用阿里云域名免费证书 在宝塔中nginx配置https php xdebug phpstrom配置 shell 转发mysql隧道 微信公众号扫码关注和一键关注公众号的方法 yii2笔记 rabbitmq thinkphp5 路由模式 laravel5.8 路由分组实现
最新评论