O site falha ao carregar recursos específicos somente no kernel linux + minha conexão de conexão interna

1

O site em questão é Ingress Intel . Você provavelmente não poderá acessá-lo, a menos que tenha sido convidado para o Ingress, mas não é necessário, pois posso retransmitir todos os erros e problemas aqui.

Quando eu acesso o site em qualquer versão do Linux, o Google Map subjacente é carregado, mas outros ativos do servidor não. As chamadas de recurso são chamadas ajax para o URL a seguir: link e a solicitação de solicitação completa é a seguinte:

curl "http://www.ingress.com/rpc/dashboard.getThinnedEntitiesV2" -H "Accept: application/json, text/javascript, */*; q=0.01" -H "Referer: http://www.ingress.com/intel" -H "Origin: http://www.ingress.com" -H "X-Requested-With: XMLHttpRequest" -H "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31" -H "X-CSRFToken: 8rL0UkKhAVDq1rjkUPyWZ69R6DAuHY9A" -H "Content-Type: application/json; charset=UTF-8" --data-binary "{\"method\":\"dashboard.getThinnedEntitiesV2\",\"minLevelOfDetail\":-1,\"boundsParamsList\":[{\"id\":\"01202303221220\",\"qk\":\"01202303221220\",\"minLatE6\":45367584,\"minLngE6\":14414063,\"maxLatE6\":45398450,\"maxLngE6\":14458008},{\"id\":\"01202303221222\",\"qk\":\"01202303221222\",\"minLatE6\":45336702,\"minLngE6\":14414063,\"maxLatE6\":45367584,\"maxLngE6\":14458008}]}"

Agora, o que acontece não é um erro - as solicitações nunca são concluídas. Depois de um tempo, eles terminam e mudam de pendentes para cancelados, mas essencialmente, nenhuma resposta é dada no navegador.

Agora,eudigo"no navegador", porque quando eu enrolo essa linha lá, recebo o seguinte:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <meta name="robots" content="NONE,NOARCHIVE">
  <title>403 Forbidden</title>
  <style type="text/css">
    html * { padding:0; margin:0; }
    body * { padding:10px 20px; }
    body * * { padding:0; }
    body { font:small sans-serif; background:#eee; }
    body>div { border-bottom:1px solid #ddd; }
    h1 { font-weight:normal; margin-bottom:.4em; }
    h1 span { font-size:60%; color:#666; font-weight:normal; }
    #info { background:#f6f6f6; }
    #info ul { margin: 0.5em 4em; }
    #info p, #summary p { padding-top:10px; }
    #summary { background: #ffc; }
    #explanation { background:#eee; border-bottom: 0px none; }
  </style>
</head>
<body>
<div id="summary">
  <h1>Forbidden <span>(403)</span></h1>
  <p>CSRF verification failed. Request aborted.</p>

</div>

<div id="explanation">
  <p><small>More information is available with DEBUG=True.</small></p>
</div>

</body>
</html>

Isso agora é onde fica interessante. Isso acontece em todas as combinações de linux e minha conexão com a internet. Eu tentei carregá-lo em um Macbook com OS X conectado ao meu WiFi, na minha área de trabalho com o Windows 7 conectado via Ethernet, e funciona. Mas se eu tentar abrir o site com o Ubuntu no Macbook via WiFi, o Mint no meu laptop via WiFi, o Mint no meu desktop via Ethernet, ou o meu telefone Android - ele sofre do mesmo problema novamente. Isso foi testado no IE, Chrome 26+, Firefox e Safari em todos os sistemas (com o IE sendo testado apenas no Win).

Se eu pegar minhas máquinas Linux em qualquer outro lugar e usar sua conexão, no entanto, funciona como um encanto. Se eu amarrar meus computadores ao meu telefone e usar a conexão de dados móveis, isso também funciona. Apenas a combinação muito específica do Linux + minha conexão com a Internet causa esse problema. Eu até tentei instalar o Windows7 e WindowsXP em uma VM no laptop Mint só para ver se abri-lo do IE na VM do Windows funcionaria, e isso não acontece.

O roteador e o firmware em questão são: link

O problema já foi discutido de alguma forma aqui mas sem sucesso.

Estou pronto para testar qualquer combinação viável que você possa imaginar.

    
por Swader 22.04.2013 / 22:49

1 resposta

2

Os erros 403 que você recebe para as solicitações baseadas em curl mostram que você não está atingindo o mesmo caminho de código do servidor; eles são um pouco de arenque vermelho a esse respeito.

O comportamento parece como se houvesse um problema com descoberta da PMTU entre a ingresso.com e você; sua solicitação está acabando, mas as respostas são descartadas. A maneira mais fácil de descobrir se esse é o caso é descartar a MTU para a interface da sua máquina Linux; é provável que 1492 esteja bem, mas poderia ser menor do que isso (os valores menos comuns, mas que ocorrem são 1480, 1460 e 1454) - comece com um valor baixo, veja se funciona, e volte a trabalhar até parar; em seguida, use o valor encontrado em sua configuração padrão (dependente da distribuição).

Para definir o MTU, sudo ifconfig eth0 mtu 1454 (usando o nome da interface correto, é claro).

Se isso resolver o problema, a causa exata dependerá do modelo e configuração do seu roteador e do seu iptables ou de outras regras do tipo firewall (-like).

    
por 23.04.2013 / 16:27