情况:酒店客人试图通过我们的强制门户访问互联网。问题:Google,Yahoo和现在越来越多的站点将所有主页重定向到HTTPS,因此当我们将访客重定向到我们的登录页面时,访客会收到证书错误。SSL的适当目的是精确地做到这一点,但想知道是否存在另一种方法来管理来宾登录确认过程,以确认其身份,然后再启用通过防火墙的访问。吓坏了不了解的客人。对于强制性门户/身份验证过程,基本上需要一种不同的体系结构,并想知道任何人的想法。谢谢。
情况:酒店客人试图通过我们的强制门户访问互联网。问题:Google,Yahoo和现在越来越多的站点将所有主页重定向到HTTPS,因此当我们将访客重定向到我们的登录页面时,访客会收到证书错误。SSL的适当目的是精确地做到这一点,但想知道是否存在另一种方法来管理来宾登录确认过程,以确认其身份,然后再启用通过防火墙的访问。吓坏了不了解的客人。对于强制性门户/身份验证过程,基本上需要一种不同的体系结构,并想知道任何人的想法。谢谢。
Answers:
Chromium项目有一个很好的页面,描述了其逻辑如何检测被俘虏的传送门:
HTTP 204 No Content
提供的链接中还有其他详细信息,它们在尝试解析知名主机等时如何处理DNS故障。这仅是一个示例,但是(以我个人的经验),现代OS设计正在使用与此类似的过程来检测甚至在某些情况下在用户打开浏览器之前提示用户。(考虑:只想使用IMAP客户端或其他非HTTP服务的人。)在这种情况下,检测不会通过SSL / TLS进行,因此可以避免您的担忧。
RFC 6585第6节提出了一个新的HTTP状态代码511 Network Authentication Required
,该代码对您的SSL / TLS情况无济于事,但是如果您还没有使用它,则可以考虑使用另一个标准。
无论如何,如果用户收到证书错误是因为证书与站点主机名不匹配。
就您而言,这意味着您将用户重定向到门户而不更改URL。用户在其地址栏中看到“ http://www.google.com ”,但在屏幕上看到您的门户。显然,这些不匹配,证书也不匹配。
您需要将它们以HTTP重定向(在HTTPS跳转之前)到您的门户地址(或服务器名称),让它们登录到那里,然后再次将它们重定向到预期的目的地,该目的地将正确匹配。
请参阅https://en.wikipedia.org/wiki/URL_redirection#HTTP_status_codes_3xx,了解如何使用HTTP 3xx代码(尤其是303)执行该操作。
https://
,但是任何存储的书签或其他固定机制都可能导致第一个请求转到基于HTTPS的服务,从而失败,因为TLS握手在到达HTTP协议层进行重定向之前失败。除了书签之外,这种“固定”的示例还包括浏览器的搜索栏,该栏具有事先知道搜索提供者偏爱通过HTTPS进行查询的知识;或连接到安全网络服务的移动应用。
临时解决方案是仅在连接wifi信号后引导用户以“ http”开头的URL。
但不幸的是,用户不喜欢它。他们说“您有多复杂的wifi服务”