微信小程序图片上传时,iOS端第一次上传必定失败,nignx返回400,短时间内再次上传可以成功。 而安卓端完美运行。
自己分析:
1 是小程序本身兼容有问题。
2 是nginx配置问题。
已经逛过小程序官方社区,看到有几个人遇到跟我一样的问题,但都没有被详细答复。我也详细描述了一下自己的问题。
https://developers.weixin.qq....
网上搜过nginx返回400可能是client_header_buffer_size 或 large_client_header_buffers不够大的问题,也已经调整过。分别是128k和1m。但问题依旧在。
个人感觉不是缓冲区大小问题,因为安卓端(我所能找到的机子)完美运行,而ios端(我所能找到的机子)必定是第一次失败,而后短时间内再次上传必定成功。 但是再隔几分钟后又必定失败。 实在是很诡异。
更神奇的是,想通过fildder抓包分析。但没法复现问题。 一旦手机连上代理,就成功上传。而断开代理,使用4G网络,又会出现一样的问题。
附上nginx的log
失败的log
xxx.xxx.xxx.xxx - - [05/Jun/2018:14:27:57 +0800] "POST /api/seek/imgUpload HTTP/2.0" 400 220 "https://servicewechat.com/wx02bbc36d9065ad9e/0/page-frame.html" "Mozilla/5.0 (iPhone; CPU iPhone OS 11_1_2 like Mac OS X) AppleWebKit/604.3.5 (KHTML, like Gecko) Mobile/15B202 MicroMessenger/6.6.1 NetType/WIFI Language/zh_CN"
成功的log
xxx.xxx.xxx.xxx- - [05/Jun/2018:14:28:04 +0800] "POST /api/seek/imgUpload HTTP/2.0" 200 238 "https://servicewechat.com/wx02bbc36d9065ad9e/0/page-frame.html" "Mozilla/5.0 (iPhone; CPU iPhone OS 11_1_2 like Mac OS X) AppleWebKit/604.3.5 (KHTML, like Gecko) Mobile/15B202 MicroMessenger/6.6.1 NetType/WIFI Language/zh_CN"
我是看不出什么区别。。一模一样
以上是我的完整描述以及我所尝试的解决方法。 都没有解决。
麻烦各路大神抽空帮帮忙,不胜感激。。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
新进展,目前发现有问题的貌似都是阿里云服务器,是需要添加什么配置吗。。
请问你解决了么,我也遇到了这个问题,完全一样