我认为类似的问题已经被反复提出,但我的问题略有不同。我了解我无法将 HTTPS 流量重定向到 Captive Portal 登录页面,而不会导致浏览器中出现 SSL 错误。我明白为什么。我同意,因为事情就是这样,我很高兴 SSL 和我们在一起。
但是,我可以说确实存在比放弃这个更好的解决方案,因为我几天前在学校使用过它。起初我没有意识到我的(Debian 8)笔记本已经自动连接到他们开放的 wifi 网络,我在 Chrome 地址栏中输入了一些搜索词。我的默认搜索引擎是 Google,它只提供 HTTPS 页面。我希望获得 Google 结果的页面显示连接错误(不可避免),但 Chrome 自动打开了一个新选项卡,显示 Captive Portal 登录页面和登录表单。
这就是我想使用任何 Linux 发行版和任何硬件来实现的,但暂时更不用说发行版和硬件了,让我们坚持这个原则:这个新的标签技巧是如何工作的?它在什么协议级别实现?如何?
https://www.chromium.org/chromium-os/chromiumos-design-docs/network-portal-detection
http://clients3.google.com/generate_204
如果 URL 返回 204 以外的内容,Chrome 会尝试获取并确定它正在访问强制门户。Apple 的操作系统也通过http://www.apple.com/library/test/success.html执行此操作。