鍍金池/ 問答/HTML5  C  Linux  HTML/ 微信小程序圖片上傳時,iOS端第一次上傳必定失敗,nignx返回400,短時間內

微信小程序圖片上傳時,iOS端第一次上傳必定失敗,nignx返回400,短時間內再次上傳可以成功。 而安卓端完美運行。

自己分析:
1 是小程序本身兼容有問題。

2 是nginx配置問題。

已經逛過小程序官方社區(qū),看到有幾個人遇到跟我一樣的問題,但都沒有被詳細答復。我也詳細描述了一下自己的問題。
https://developers.weixin.qq....

網上搜過nginx返回400可能是client_header_buffer_size 或 large_client_header_buffers不夠大的問題,也已經調整過。分別是128k和1m。但問題依舊在。

個人感覺不是緩沖區(qū)大小問題,因為安卓端(我所能找到的機子)完美運行,而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"

我是看不出什么區(qū)別。。一模一樣

以上是我的完整描述以及我所嘗試的解決方法。 都沒有解決。

麻煩各路大神抽空幫幫忙,不勝感激。。

回答
編輯回答
萌吟

新進展,目前發(fā)現有問題的貌似都是阿里云服務器,是需要添加什么配置嗎。。

2018年4月24日 07:50