Estoy implementando manualmente un portal cautivo WiFi. Tengo todo funcionando, PERO un solo problema: quiero que todos vean la ventana emergente del portal cautivo de su sistema operativo móvil (o sistema operativo de computadora) para una experiencia perfecta.
Dado que cada uno de ellos tiene su propia forma retorcida de hacerlo, aparentemente no puedo obtener una experiencia multiplataforma consistente.
Para que esto suceda, ¿puedo obtener ayuda para describir (1) qué solicitudes de URL de los clientes WiFi deben redirigirse a una página de inicio de sesión y / o (2) qué configuración de servidor web nginx o apache se puede utilizar para redirigir WiFi clientes a una página de inicio de sesión?
La página de inicio de sesión de mi portal cautivo en este ejemplo es http: //captiveportal.lan . Estos son algunos de los sistemas operativos para los que estoy tratando de resolver esto.
Android 4/5/6
- Apache:
RedirectMatch 302 /generate_204 http://captiveportal.lan
- nginx:?
Versiones anteriores de Android
- Apache:?
- nginx:?
iOS 8
Apache .htaccess:
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^CaptiveNetworkSupport(.*)$ [NC]
RewriteRule ^(.*)$ http://captiveportal.lan [L,R=302]
nginx:?
Versiones anteriores de iOS
- Apache:?
- nginx:?
Telefono windows
- Apache:
RedirectMatch 302 /ncsi.txt http://captiveportal.lan
- nginx:?
Windows 7 \ 8 \ 10
- Apache: vea Windows Phone (funciona en win7).
- nginx:?
Mac OS
- Apache:?
- nginx:?
Amazon Kindle: ¿tiene una ventana emergente?
- Apache:?
- nginx:?
fuente
Respuestas:
Todos los sistemas operativos móviles solo revisan una página web para decidir si están detrás de un portal cautivo o no.
El mecanismo es este:
Además, para iOS, debe tener un dominio para su red WiFi, ya que supone que una red sin dominio sin acceso es una red doméstica y solo la marca como Sin red en lugar de Portal cautivo.
Solo asegúrese de redirigir explícitamente las siguientes URL a su portal cautivo con HTTP Success:
Android / Chromebook:
ios 6:
ios 7:
iOS 8/9:
Ventanas
Muchos proveedores también han comenzado a utilizar el agente de usuario "CaptiveNetworkSupport", aunque no es tan común como el método de URL anterior. Simplemente verifique ese UA y siempre dele su página de portal ... aunque no funciona al 100%.
Utilizo el método de URL y ha estado funcionando bien.
fuente
Kindle de Amazon (Fuego)
El Kindle de Amazon (Fire) realiza la siguiente solicitud, y si no se puede recuperar "... se supone que el usuario debe iniciar sesión y muestra una pantalla de inicio de sesión":
iOS 8.4
Para el último iOS tuve que hacer coincidir todos los URI para las solicitudes a http://captive.apple.com , no solo "/hotspot-detect.html".
Los clientes de iOS 8.4 realizan solicitudes con URI generados aleatoriamente (p. ej., "/xmqPyZUv/3r8jTjv8.html" y "/7exN0TV7q0COX0/eKlBU8baU2tape/fjXUzDHBdE6W0O/BGbw7iYU2DVBh1/TV aT.TT a los datos de la aplicación de la aplicación.
fuente