我正在尝试使用WifiDog,AuthPuppy和Squid创build强制门户。 我们只想提供访问选定数量的资源,例如2-3个网站和App Store(苹果和谷歌)。
虽然阻止和允许http请求很容易:WifiDog有一个选项可以将httpredirect到透明代理。 我将所需的url列入了白名单,其余的都被阻止了。 但有没有类似的方式来做到这一点的安全(https)连接?
万分感谢任何build议。
不容易。
默认情况下,HTTPS连接是encryption的,你不能通过代理传递它们…你可以做的是通过目标IP过滤它们,只允许一些地址和拒绝使用防火墙的其他东西; 但是有些服务器使用虚拟主机,并在同一个IP下托pipe不同的网站,所以如果同一个服务器同时托pipe一个白名单站点和一个黑名单站点,则不能只阻塞其中的一个。
但是,一个解决scheme是让用户同意将Squid服务器的IPconfiguration为浏览器的代理,在这种情况下,stream量仍然是encryption的(它将通过代理使用CONNECT请求进行隧道传输),但目标主机名将是明文你将能够应用ACL。
因此,一个可能的解决scheme是将所有HTTPstream量redirect到一个页面,说明如何在设备上设置代理服务器的地址,并阻止直接的HTTPSstream量。 一旦用户在其设备上configuration代理,他们将能够按照您的规则浏览网页。
哦,与您的问题无关,但是您是否考虑过使用EAP来validation您的用户(并且仅为新用户注册并获取其EAP凭证提供开放式networking)而不是使用令人讨厌的俘虏门户?