强制门户中的 SSL 证书错误

强制门户中的 SSL 证书错误

情况:酒店客人试图通过我们的强制门户访问互联网。问题:Google、Yahoo 以及现在越来越多的网站将所有主页重定向到 HTTPS,因此当我们将客人重定向到我们的登录页面时,客人会收到证书错误。SSL 的目的正是实现这一点,但我想知道在允许通过防火墙访问之前,是否有其他方法来管理客人登录确认过程以确认他们的身份。这让不理解的客人感到害怕。基本上需要为强制门户/身份验证过程采用不同的架构,想知道任何人有什么想法。谢谢。

答案1

Chromium 项目一个好的页面来描述他们的逻辑是如何运作的用于检测强制门户:

  1. 尝试连接(纯 HTTP)到知名主机 + URI
  2. 预计HTTP 204 No Content
  3. 如果收到不同的响应,则假定它是一个强制门户。

提供的链接中还有其他详细信息,说明它们在尝试解析知名主机时如何处理 DNS 故障等。这只是一个例子,但(以我的个人经验来看)现代操作系统设计正在使用类似这样的流程来检测并提示用户,在某些情况下,甚至在用户打开浏览器之前。(考虑:只想使用 IMAP 客户端或其他非 HTTP 服务的人。)在这种情况下,检测发生不是通过 SSL/TLS 来避免您的担忧。

RFC 6585 第 6 部分提出了一种新的 HTTP 状态代码511 Network Authentication Required,它对您的 SSL/TLS 情况没有帮助,但如果您尚未使用它,您可能会考虑另一个标准。

答案2

“强制门户”的整个定义围绕着“在用户不知情的情况下重定向用户”,这正是 SSL 创建要避免的事情之一。

如果浏览器尝试打开的第一个 URL 是 HTTPS,则无法在不产生证书错误的情况下重定向流量。

答案3

临时解决办法是,只有在连接wifi信号后,才引导用户启动以“http”开头的URL。

但不幸的是,用户不喜欢它。他们说“你的 wifi 服务有多复杂”

答案4

无论如何,如果用户收到证书错误,是因为证书不匹配站点主机名

就您而言,这意味着您将用户重定向到您的门户而不更改 URL。用户将看到“http://www.google.com“在他们的地址栏中,但屏幕上是您的门户。显然,这些不匹配,证书也不匹配。

您需要在 HTTP 中将它们重定向到您的门户(在 HTTPS 跳转之前)地址(或服务器名称),让他们登录那里,然后再次将他们重定向到正确匹配的预期目的地。

https://en.wikipedia.org/wiki/URL_redirection#HTTP_status_codes_3xx有关如何使用 HTTP 3xx 代码(特别是 303)执行此操作。

相关内容