欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

微信小程序部署问题总结

程序员文章站 2022-04-06 10:55:59
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   // 根据需要调整大小;