portal cativo / jardim murado na janela pop-up no android não aparecendo

2

Normalmente não peço ajuda, mas fiquei presa nisto por alguns dias - e qualquer indicação que alguém possa ter será muito apreciada.

Eu criei um hotspot wifi (portal cativo / jardim murado) - usando o Windows Server 2012, o Unbound DNS e um roteador Apple Extreme. Tenho o IIS em execução, que cuida dos redirecionamentos usando o regravador de URL e tudo é bom para dispositivos iOS.

Estou tentando fazer com que dispositivos Android exibam a janela pop-up CNA quando eles se conectam à rede wifi. Eu estou fazendo isso por esta regra no meu web.config

            <rule name="android rule" enabled="true" stopProcessing="false">
                <match url="(.*)generate_204(.*)" />
                <!-- <action type="Redirect" url="http://supplierfinder.ubm-com.net/WebPage.cshtml" appendQueryString="false" redirectType="Temporary" /> -->
                <action type="Rewrite" url="WebPage.cshtml" appendQueryString="false" />
            </rule>

Tenho certeza de que esse redirecionamento está funcionando e veiculando a página quando o dispositivo se conecta à rede. Aqui está uma entrada de log

2015-09-05 19:06:48 W3SVC2 WIN-8CHVURO21ID 10.0.1.2 GET / generate_204 - 80 - 10.0.1.12 HTTP / 1.1 Dalvik / 1.6.0 + (Linux; + U; + Android + 4.4.2 + GT-N7100 + Build / KOT49H) - - customers3.google.com 200 0 0 4143

como você pode ver - recebo a solicitação link do Android - e estou respondendo com um URL Reescreva para um página válida (que está sendo veiculada) 200. O que eu esperaria que acontecesse é que o Dispositivo Android executaria a solicitação novamente - e depois abriria um navegador e exibiria a página. Isso não acontece.

Eu revi o código-fonte do Android para conexões de jardim murado e, até onde eu posso ver, o que estou retornando parece válido ... (abaixo está o código-fonte do sistema operacional Android - observe a lógica 204). / p>

        urlConnection.setReadTimeout(WALLED_GARDEN_SOCKET_TIMEOUT_MS);
         urlConnection.setUseCaches(false);
         urlConnection.getInputStream();
         // We got a valid response, but not from the real google

         return urlConnection.getResponseCode() != 204;
     } catch (IOException e) {
         if (DBG) {
             log("Walled garden check - probably not a portal: exception " + e);
         }

         return false;

     } finally {
         if (urlConnection != null) {

             urlConnection.disconnect();
         }
     }

Qualquer indicação sobre o que estou fazendo de errado seria muito apreciada.

A configuração é

Windows Server 2012 - usando DNS não vinculado, IIS 8.5 com extensões de regravação de URL (http na porta 80 ativada) Servidor DHCP no roteador Airport Extreme (já que não consigo desativá-lo)

Meu DNS parece com isso

interface: 0.0.0.0

controle de acesso: 10.0.0.0/8 permitir

local-zone: "." redirect
local-data: ". A 10.0.1.2"

Estou preso no momento - em busca de uma correção no google tem sido um pouco infrutífero como todo mundo faz portais cativos com produtos de terceiros - estou começando a pensar que eu deveria ter tomado essa abordagem também:)

Obrigado pela leitura ... felicidades

Steve

    
por Steve Parker 05.09.2015 / 21:29

0 respostas