开发微信小程序碰到的 IIS 问题

* 未显示页面 因为请求实体过大

问题描述:在 IIS 上部署了一个可以接收文件上传的 POST webAPI ,使用 Http 验证时没有任何问题,使用 SSL 后;通过微信小程序 Post 文件流,就会导致异常:“未显示页面 因为请求实体过大” 的 413               错误;但在 Chrome 内核的微信小程序编辑工具中,则不存在该问题;

问题原因:客户端发起一个请求后,IIS 会收到足以解析请求标头的数据,但不会收到整个请求实体正文,如果发现需要客户端证书时,将尝试重新协商连接; 但此时客户端正等待向 IIS 发送请求中的其余数               据。因此,如果要让客户端能接受重新协商,则必须使用 SSL 预加载功能预加载请求实体正文,此时则可能引起默认设置值 UploadReadAheadSize 长度太小的问题;

解决方案:进入 cd %WinDir%\System32\Inetsrv 目录执行命令行

              appcmd.exe list config -section:system.webServer/serverRuntime  // 查看当前设置的 UploadReadAheadSize  大小(byte)

              appcmd.exe set config -section:system.webserver/serverruntime/uploadreadaheadsize: 204800/commit:apphost   // 根据需要调整大小;

 

* TLS 仅支持 1.2 及以上版本

问题描述:开发微信小程序进行 Post 文件时,遇到了 “tls 仅支持 1.2 及以上版本” 的问题;

问题原因:Windows 服务器默认没有启用支持 TLS 1.2 及以上版本;

解决方案:在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/3.0 (PCI Compliance)
md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\"
md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server"
md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\"
md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server"
new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server" -name Enabled -value 0 -PropertyType "DWord"
new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server" -name Enabled -value 0 -PropertyType "DWord"

转载于:https://www.cnblogs.com/sunpoin/p/6724434.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值