【问题标题】:SSL Certificate issue to the end user向最终用户颁发 SSL 证书
【发布时间】:2023-03-16 18:54:01
【问题描述】:

我有一个用 Asp.Net 开发的网站,它托管在云中。站点在 https 协议上运行,证书颁发给域(例如 example.com)和子域(*.example.com)。如果用户键入 example.com 或 app.example.com,它会很好地工作。但是,有些用户输入的 URL 不正确。他们输入类似 www.app.example.com 的内容。在这种情况下,浏览器会显示有关证书的警告。它声明了这样的内容“此服务器无法证明它是 www.app.example.com;它的安全证书来自 *.example.com。这可能是由于配置错误或攻击者拦截了您的连接造成的”

这很好,因为主题名称(或颁发给)不匹配,因为它涉及两个子域,即第一个子域是 www,另一个子域是 app。许多用户害怕这样做,他们会离开网站。通过谷歌搜索我发现,可以通过使用其他主题 alt 名称(例如 *.example.com 和 ..example.com)重新生成证书来解决问题。但由于某种原因,IT 人员不想重新生成证书。是否有任何替代方法可以在不重新生成证书的情况下解决此问题。预期不应显示任何错误消息,并且不应要求最终用户执行任何额外操作。

我尝试过在 IIS 中使用重定向规则。但它们不起作用。

平台详情 – Asp.Net MVC 5、IIS 7.5 和 Windows Server 2008 R2 数据中心

【问题讨论】:

    标签: asp.net .htaccess iis ssl iis-7.5


    【解决方案1】:

    是否有任何替代方法可以在不重新生成证书的情况下解决此问题。

    没有。证书必须与名称匹配。如果证书不匹配,用户会收到错误消息。没有办法绕过它,如果有的话,这可能会被视为安全风险,因为如果没有正确的名称检查,中间人攻击是可能的。

    我尝试过在 IIS 中使用重定向规则。但它们不起作用。

    重定向是在 HTTP 级别完成的,这意味着使用 https 它首先需要建立 SSL 连接。如果由于名称不匹配而失败,则将无法到达重定向。

    【讨论】:

    • 好的。另一种方法是在具有纯 http 协议的同一台服务器上创建一个带有 www.app.example.com 的新站点。然后在此站点(即纯 http 站点)上创建一个重定向规则,以使用适当的 URL 保护站点,即通过从 url 中删除 www。它会起作用吗?
    • @Parag :我不知道这个解决方案是否有效,但您肯定会破坏使用 https 作为最终用户和中间站点 www.app.example.com 之间的流量的目的,这将是不安全的.
    • 我假设您到处都有从 http 到 https 的重定向,因为否则输入“app.example.com”的用户将不会获得 https,而是仅获得 http 版本。在这种情况下,修复重定向就足够了,因此它们只指向具有正确证书的域。当然,如果用户输入https://www.app.example.com这将无济于事,因为它会尝试使用https并失败。
    • @Pankaj。此逻辑将用于键入错误 URL 的用户,即 www.app.example.com。在这种情况下,用户既不输入 http 也不输入 https。所以浏览器会将用户带到 'app.example.com' 。然后从这个站点(非安全站点)到“app.example.com”(具有有效 SSL 的安全站点)。所以这里用户将从非安全站点重定向到安全站点,这没关系。输入有效 url 'app.example.com' 的用户不会有任何问题。但是是的,我知道输入“htttps://www.app.example.com”的用户会遇到同样的问题。
    • @Parag:你没有明白我的意思。您正在使用 https 来保护通过有线传输的数据。即从用户的浏览器到您的网络服务器。如果您使用没有 https 的中间应用程序,那么使用 https 保护您的目标应用程序有什么意义?您正在保护中间应用程序到目标应用程序之间的数据传输,但是浏览器到中间应用程序之间的路径呢?
    猜你喜欢
    • 1970-01-01
    • 2017-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-04
    相关资源
    最近更新 更多