在Windows 10上进行测试时,我们看到许多浏览器不兼容,这是我以前在Windows版本中没有见到的.有些浏览器可以使用,但其他浏览器会报告ERR_SPDY_PROTOCOL_ERROR.我对这个问题的快速搜索表明我并不孤单.
我的应用程序使用WWSAPI和HTTP.SYS与HTTPS(TLS).有谁知道如何在Windows 10上的WWSAPI(使用HTTP.SYS)中禁用SPDY/HTTP/2?
我还想获得HTTP.SYS的最新Windows 10注册表设置列表.
请参阅下面的我对此的回答.希望这也有助于其他人.
标记
环境
Web.Config中:
<modules runAllManagedModulesForAllRequests="true">
<remove name="FormsAuthentication" />
</modules>
Run Code Online (Sandbox Code Playgroud)
按钮单击:
protected void btnDownload_Click(object sender, System.EventArgs e)
{
try
{
string sPDFFilename = "doc.pdf";
byte[] data = GetData();
Response.ClearHeaders();
Response.ClearContent();
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "Attachment; filename=" + sPDFFilename);
Response.AddHeader("content-length", (data.Length.ToString()));
Response.BinaryWrite(data);
Response.Flush();
HttpContext.Current.ApplicationInstance.CompleteRequest();
}
catch(Exception ex){ throw; }
}
Run Code Online (Sandbox Code Playgroud)
问题: 在第一篇文章中,浏览器使用HTTP2作为其协议,下载失败.Chrome网站" 网络错误 - 无法下载 "
再次单击相同的链接,协议将回退到http/1.1并且下载成功.
升级到Windows 10后,当我尝试通过HTTPS访问我的计算机时,我在Google Chrome中收到ERR_SPDY_INADEQUATE_TRANSPORT_SECURITY(Firefox 39只是不加载页面).我的计算机上有一个GoDaddy签名证书.
我试图通过https://http2.github.io/http2-spec/#BadCipherSuites禁用我的大多数加密密码.
我已经走了太远,以至于我已经禁用了使我从RDPing到桌面的密码...而且它仍然给我一个错误!
任何指导表示赞赏.
我们遇到了一些似乎受http2影响的问题,我想暂时将其关闭以进行故障排除。我尝试了此问题中概述的注册表项,但对Windows Server 2016没有帮助。