微信小程序部署問題總結


1、微信小程序免費SSL證書Https 申請(阿里雲申請)

  • 進入阿里雲控制台后,選擇CA證書服務

  • 選擇購買證書

但是阿里雲的免費SSL證書藏得比較深,得這樣操作才能顯示出免費證書
點擊Symantec->點擊增強型OV SSL->點擊免費型DV SSL->支付即可
步驟1:

步驟2:

步驟3:

步驟4:

步驟5:

  • 進入證書控制台

補全證書信息,由於是免費證書,因此只能填寫一個域名,而且無法使用通配符
步驟1:填寫域名

步驟2:補全信息

2、小程序要求的 TLS 版本必須大於等於1.2

  • 問題環境
    服務器:Windows 2008 Server、IIS7

  • 問題描述
    微信小程序使用wx.request時,調試報錯:小程序要求的TLS版本必須大於等於1.2.

  • 問題原因
    Windows 服務器默認沒有啟用支持TLS 1.2及以上版本。

  • 前提
    Windows 系統 TLS 支持情況

備注:如果操作系統不支持相應TLS則無法使用以下解決方案
也可以通過該網址判斷是否已支持TLS
https://www.ssllabs.com/ssltest/index.html
通過以下內容可判斷是否已支持相應TLS

  • 解決方案
    首先:開始->運行->PowerShell
    然后:復制一下命令在PowerShell中執行完成后,直接回車即可。
# Enables TLS 1.2 on windows Server 2008 R2 and Windows 7

# These keys do not exist so they need to be created prior to setting values.
md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2"
md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server"
md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client"

# Enable TLS 1.2 for client and server SCHANNEL communications
new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" -name "Enabled" -value 1 -PropertyType "DWord"
new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" -name "DisabledByDefault" -value 0 -PropertyType "DWord"
new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" -name "Enabled" -value 1 -PropertyType "DWord"
new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" -name "DisabledByDefault" -value 0 -PropertyType "DWord"

# Disable SSL 2.0 (PCI Compliance)
md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server"
new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server" -name Enabled -value 0 -PropertyType "DWord"
# Enables TLS 1.2 on Windows Server 2008 R2 and Windows 7 # These keys do not exist so they need to be created prior to setting values. md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2" md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" # Enable TLS 1.2 for client and server SCHANNEL communications new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" -name "Enabled" -value 1 -PropertyType "DWord" new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" -name "DisabledByDefault" -value 0 -PropertyType "DWord" new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" -name "Enabled" -value 1 -PropertyType "DWord" new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" -name "DisabledByDefault" -value 0 -PropertyType "DWord" # Disable SSL 2.0 (PCI Compliance) md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server" new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server" -name Enabled -value 0 -PropertyType "DWord"

最后:重啟服務器(必須步驟)后就可以了,再進行wx.request請求

3、未顯示頁面,因為請求實體過大

  • 問題描述
    在IIS上部署一個可以接受文件上傳的Post WebApi,使用Http驗證時沒有任何問題,使用SSL后;通過微信小程序Post文件流,就會導致異常:未顯示頁面 因為請求實體過大的413 錯誤;但是在 Chrome 內核的微信小程序編輯工具中,則不存在該問題。
  • 問題原因
    客戶端發起一個請求后,IIS會收到足以解析請求標頭的數據,但不會收到整個請求實體正文,如果發現需要客戶端證書時,將嘗試重新協商連接;但此時客戶端正等待向IIS發送請求中的其余數據。因此,如果讓客戶端能接受重新協商,則必須使用SSL預加載功能預加載請求實體正文,此時則可能引起默認設置值UploadReadAheadSize長度太小的問題。
  • 解決方案
    進入 cd C:\Windows\System32\Inetsrv 目錄執行命令行
appcmd.exe list config -section:system.webServer/serverRuntime  // 查看當前設置的 UploadReadAheadSize  大小(byte)
appcmd.exe set config -section:system.webServer/serverruntime /uploadreadaheadsize:204800 /commit:apphost   // 根據需要調整大小;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM