微信小程序部署问题总结

一、微信小程序免费SSL证书Https 申请(阿里云申请)

  • 进入阿里云控制台后,选择CA证书服务
    html

  • 选择购买证书
    web

可是阿里云的免费SSL证书藏得比较深,得这样操做才能显示出免费证书
点击Symantec->点击加强型OV SSL->点击免费型DV SSL->支付便可
步骤1:
小程序

步骤2:
windows

步骤3:
微信小程序

步骤4:
服务器

步骤5:
微信

  • 进入证书控制台

补全证书信息,因为是免费证书,所以只能填写一个域名,并且没法使用通配符
步骤1:填写域名
app

步骤2:补全信息
ide

二、小程序要求的 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请求

三、未显示页面,由于请求实体过大

  • 问题描述
    在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   // 根据须要调整大小;
相关文章
相关标签/搜索