1、微信小程式免費SSL證書Https 申請(阿裡雲申請) 進入阿裡雲控制台後,選擇 選擇 但是阿裡雲的免費SSL證書藏得比較深,得這樣操作才能顯示出免費證書 點擊 點擊 點擊 支付即可 步驟1: 步驟2: 步驟3: 步驟4: 步驟5: 進入證書控制台 補全證書信息,由於是免費證書,因此只能填寫一個 ...
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 // 根據需要調整大小;