1. 程式人生 > >小程序報錯:request:fail錯誤(含https解決方案)(真機預覽問題)

小程序報錯:request:fail錯誤(含https解決方案)(真機預覽問題)

ssl協議 目錄 width zh-cn arch 加密 med 測試 置配

問題描述:域名已經備案,我全部都有,也在後臺配置了,但是手機預覽,還是請求失敗, PC端是可以請求數據出來的
新版開發者工具增加了https檢查功能;可使用此功能直接本地避開ssl協議版本檢查,但是此功能對(非調試模式)真機無效!(如需發布仍需排除所有問題才可正常使用)詳情請參考:跳坑《七十九》調試模式與非調試模式,不校驗域名

<ignore_js_op>技術分享圖片

可能原因:0:後臺域名沒有配置配置完畢請點擊刷新按鈕:
<ignore_js_op>技術分享圖片
0.1:域名不支持https
1:沒有重啟工具;
2:域名沒有備案,或是備案後不足24小時;備案未生效;感謝@小樹提供的案例<ignore_js_op>技術分享圖片


3:ssl協議有問題:具體請參考本文:
微信小程序開發SSL證書配置,解決request fail問題 <ignore_js_op>技術分享圖片

解決方法
1、Geotrust先檢查下你的站點。把一些常規的問題解決掉,比如中級證書沒裝,等等問題。
2、微信支持,且只支持ssl_protocols TLSv1.2及以上版本;所以,你需要把SSL V2,SSL V3這些協議都刪掉
3、加密方式ssl_ciphers AES128+EECDH:AES128+EDH:!aNULL;
配置tls1.2方法可參考鏈接:微信小程序開發時服務器如何支持tls1.2?



@奔跑的拖鞋同學分享
小程序需要TLS 版本支持1.2及以下版本<ignore_js_op>技術分享圖片

windows系統至少要2008R2以上,才能支持1.0 1.1 1.2
少一個版本不支持都不行
所以03系統想折騰小程序的朋友,自己裝R2以上或用linux系統

免費的證書可以到阿裏雲,騰訊雲
建議到阿裏雲,。。
微信小程序免費SSL證書https、TLS版本問題的解決方案感謝@dongyado 補充:給大家提個醒 startcom 下面的dv ssl 證書, 親測 在ios10 小程序中無法請求成功 在ios9 下可以請求成功,然後換成鵝廠的免費證書,全部都沒有問題了。這不是廣告 折騰了兩天發現ios10 可能已經對startcom 有處罰了。



4:參考這個鏈接:微信小程序:nginx 設置HTTPS

5:證書常見問題:參考https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=10_4

(1)證書受信任的問題
部分國內簽發的SSL證書,在Android上不受信任,推薦GeoTrust;
(2)如果頁面有動靜分離,靜態資源使用獨立域名的話,也需要為該域名申請證書;
(3)android低版本不支持SNI擴展,受此限制,一臺服務器只能部署一個數字證書;
當證書不受信任時,將會報如下錯誤:
安卓端,是ssl失敗,蘋果端是不受信任
技術分享圖片



如果有其他可能性,請在本帖內回復以給其他同學參考;如果以上不能解決你的問題,也請回復在底下

6:同時測試ios和安卓,假如有一方可以,一方不行,則是證書問題,請選用受認可的證書
檢測地址:https://www.qcloud.com/product/ssl.html#userDefined10<ignore_js_op>技術分享圖片

配置指引地址:https://www.qcloud.com/doc/product/400/6973

  • 1.Nginx 證書配置
  • 2.Apache 證書配置
  • 3.Tomcat 證書配置



7:配置中間證書請參考:http://www.wxapp-union.com/forum.php?mod=viewthread&tid=4897

8:@”沈淪自己“的案例:證書是賽門鐵克的, 少了一份證書,配置的證書不是小程序https地址的證書,然後配置了一個中級證書,就ok了

9:可以請求數據,真機預覽無法請求服務器數據:感謝@Zero 同學提供的此解決方案
檢測地址:https://www.myssl.cn/tools/check-server-cert.html
<ignore_js_op>技術分享圖片
<ignore_js_op>技術分享圖片

10:https端口使用8443時無法訪問,需改成443

11:小程序網絡請求中遇到的坑及解決方法

12:專業插眼遇到的問題:安卓真機預覽request:fail(後臺spring boot)(配置中間證書教程)

13:

Q:微信小程序在模擬器上https能訪問到數據,但是真機上不能建立數據連接。
A: a)證書要認證機構頒發的。
b)如果是Android不行看看request的請求method請求類型要用大寫,如GET。
c)服務器要支持tls 1.0 1.1 1.2。
Q:wx.request發請求,報"ssl hand shake erro"。
A:以下三點要確認沒有問題
(1) tls需要支持1.0 1.1. 1.2版本。
(2) wx.request 請求參數method的value要大寫(例如:GET)。
(3) 下載最新的微信客戶端
如果用的是騰訊雲提供的免費證書。騰訊雲下載證書zip文件,解壓後務必使用nginx目錄中的root crt 和 key兩個文件。



14:問題描述:每次執行wx.request是返回的都是fail?1、https:// + url 服務器已配置

2、https:// + url 訪問能正常訪問並返回json數據 3、https配置用的是IIS,SSL用的是自簽名證書 每次執行wx.request是返回的都是fail,有哪位大神知道問題可能出在哪嗎? 轉自:http://www.wxapp-union.com/forum.php?mod=viewthread&tid=648
該問題已解決,現在和大家分享一下。 運行環境:Windows 2008 R2 + IIS7.5 經分析,問題原因是:
1、wx.request要求SSL版本使用的是TLS1.2,而我之前的操作系統SSL版本為SSL2.0;
2、小程序開發用的https不支持SSL自簽名證書,需要在網上申請SSL證書。
解決辦法如下:
1、升級SSL版本至TLS1.2。
我的運行環境為Win2008R2,可參考此網上教程將SSL版本升級至TLS1.2
http://www.wxapp-union.com/forum.php?mod=viewthread&tid=4820
2、網上申請免費的DV SSL證書並在IIS導入服務器證書。
現在很多網站都支持免費SSL證書申請,有效期為一年。我同時在阿裏雲和騰訊雲上都有申請,個人感覺在騰訊雲上申請的SSL更方便快捷,記得當時在騰訊雲上申請時都有相關提示,不懂可以很快點開操作說明文檔。在配置好域名解析後10分鐘內就提示通過SSL證書申請,刷新頁面後就可以下載證書了。
將下載好的證書導入IIS裏的服務器證書,並重新配置https後,重啟生效。
問題得到解決。



15:案例:

wx.request 錯誤提示 request:fail invalid url
我已經配置好了 https ,瀏覽器中可以正常訪問
在小程序後臺也設置好了服務器域名
但在小程序代碼中使用 wx.request 請求 url 時顯示錯誤信息:

request:fail invalid url
請問大家有遇到過這個問題的嗎? 問題原因: 傳入的 URL 不合法
最終解決:
最後發現,我的這個問題不是因為後臺配置,也不是SSL證書的問題,是調用url時的引號寫法問題
之前的寫法:
wx.request({
url: ‘https://www.xxx.com/test.php‘,
...
})

這樣就報錯:invalid url
後來改成:
... url: `https://www.xxx.com/test.php`, ...
不使用單引號,改為了 ` (與 ~ 同鍵), 這樣就好了
url 字符串中並沒有使用變量,不明白為什麽單引號不行,而需要使用 `


16:蘋果部分機型可用,部分機型報錯:或安卓機型報錯等
技術分享圖片可能是證書不受信任,在此查看證書信任列表:蘋果支持的證書列表:https://support.apple.com/zh-cn/HT204132

17:新增案例:
開發工具wx.request 接口可以用,預覽用手機微信訪問時無法請求數據我們在開發工具上 可以進行系統的登錄,也就是可以請求服務端的接口,但在手機上預覽的時候服務端收不到請求的信息,分配手機上調用wx.request這個接口沒有反應,通過手機上的調試 也是執行 wx.request 沒有反應,執行不下去,如下圖。 請求幫忙 怎麽回事,我們的TLS是1.2版本的。
<ignore_js_op>技術分享圖片<ignore_js_op>技術分享圖片

確實是 TLS1.2的問題,我們配置了1.2但訪問的時候是1.0的,後來查是JDK的原因,我用的是JDK 1.6.31 ,後來 把JDK改成了 1.7的主可以了






更多內容可以參考:http://www.wxapp-union.com/forum.php?mod=viewthread&tid=1909
相關帖子:請查看https相關系列:http://www.wxapp-union.com/portal.php?mod=list&catid=17

更多內容,請在本站搜索https搜索帖子及文章進行查看:http://www.wxapp-union.com/search.php
<ignore_js_op>技術分享圖片
如果你是因查詢如下問題而進入的這個帖子

小程序接收json數據,安卓無法接收數據,蘋果完全沒問題?
請參考此帖:http://www.wxapp-union.com/forum.php?mod=viewthread&tid=1522及
http://www.wxapp-union.com/forum.php?mod=viewthread&tid=1909

小程序報錯:request:fail錯誤(含https解決方案)(真機預覽問題)