asp.net - 如何陷阱 "cannot establish secure connection"

标签 asp.net ssl http-headers tls1.2

我有一个网站,一些使用旧计算机或浏览器的人无法与我们网站的安全部分建立连接。

我想做的是捕获连接错误并将它们重新路由到一个屏幕,解释为什么会发生这种情况,并向它们推荐一些可能有帮助的资源。

在几乎所有情况下,我们遇到的浏览器/操作系统组合都不兼容 TLS 1.1 和/或 1.2,因此它们会被服务器拒绝。

是否有我应该捕获的特定 HTTP 响应代码?我认为它可能是 502,但这似乎并没有捕捉到它。

还是还没到那个地步?

当我们在 Safari 7 之前看到此信息时,消息类似于:

Safari cannot establish secure connection

如果 HTTP 错误代码不是可行的方法,是否有一种好的方法来捕获它?我正在使用 asp.net 来管理我们的网站。

编辑:有人知道服务器和浏览器在这种情况下经历的顺序吗?我认为,弄清楚在哪里进行干预/陷阱对我来说已经成功了一半。由于我还没有任何回复,因此这次编辑更像是一个障碍。

最佳答案

TLS 由您的 Web 服务器而非 ASP.NET 管理,因此您无法在 ASP.NET 代码中拦截 TLS 连接失败。

您可以做的是在您的网站前设置一个代理,该代理将接受 TLS < 1.2 的传入连接并立即向客户端响应错误页面。它将使用正确版本的 TLS 将所有可接受的连接传递给 Web 服务器。

关于asp.net - 如何陷阱 "cannot establish secure connection",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40045042/

相关文章:

javascript - FullCalendar 不适用于 Google Cloud 环境

c# - JavaScript中的条件语句

perl - 使用 Perl HTTP::Response 和 LWP 代理 HTTP 请求的更好方法?

asp.net - 在 ASP.NET MVC 4 中使用区域时出现配置错误

c# - ASP.NET MVC 代码优先 : Multiplicity is not valid in Role in relationship

ssl - 显示本地证书文件的整个证书链

authentication - LoopBack 中需要的 2 路 SSL 身份验证/相互身份验证示例

Android - 使用 Thawte CA 的 SSL 证书连接到 Web 服务时出现 SSLPeerUnverifiedException

android - 如何在 webView 的 url 中发送 referer 请求

rest - REST : Envelope VS HTTP Header 中的元信息