Eu tenho um dispositivo com um painel de controle baseado na Web e o defino acidentalmente para redirecionar todas as http
páginas https
, mesmo que algumas não funcionem https
. Embora eu tenha corrigido isso, o Safari parece ter memorizado o redirecionamento e está se recusando a esquecê-lo, tentando constantemente me redirecionar para o https
endereço inválido .
Eu já fechei o Safari, limpei ~/Library/Caches/com.apple.Safari/
e ~/Library/Cookies/HSTS.plist
ainda parece lembrar o redirecionamento quando o abro.
Onde mais o Safari poderia armazenar essas informações? Posso acessar a página correta via Firefox ou Chrome, portanto, pode não ser um serviço para todo o sistema ou, se não for o que os outros navegadores usam.
Infelizmente, como o painel da web é fornecido por um dispositivo, não acredito que possa ajustar os cabeçalhos ou configurar um redirecionamento de volta para o URL correto, que parecem ser opções oferecidas em outras perguntas semelhantes, então preciso descobrir onde isso os dados estão sendo armazenados para que eu possa destruí-los com fogo.
~/Library/Safari
pasta e ver se isso resolve o problema? Nesse caso, você pode experimentar itens dentro da pasta até encontrar o arquivo responsável.Respostas:
Com base na resposta de quanta :
Não pude usar
launchctl unload /System/Library/LaunchAgents/com.apple.nsurlstoraged.plist
porque tenho o System Integrity Protection ativado:No entanto, fui capaz de contornar isso, fazendo o seguinte:
killall nsurlstoraged
(interrompe o processo nsurlstoraged do usuário; na verdadesudo killall nsurlstoraged
, eu executei , mas desconfio que não seja necessário interromper o nsurlstoraged do sistema também, pois o cache está na pasta Biblioteca do usuário)rm -f ~/Library/Cookies/HSTS.plist
(exclui o cache do HSTS)launchctl start /System/Library/LaunchAgents/com.apple.nsurlstoraged.plist
(reinicia nsurlstoraged)fonte
HSTS.plist
arquivo não corrigirá o problema, pois continuará sendo reconstruído. No entanto, depois de matarnsurlstoraged
e depois remover o arquivo HSTS, isso funcionou!~/Library/Cookies/HSTS.plist
e remova a entrada do site que eu quero no http 3. Reinicie o computadorrm -f ~/Library/Cookies/HSTS.plist
retornará, aOperation not permitted
menos que você tenha concedido acesso total ao disco ao Terminal.app em Preferências do sistema => Segurança e privacidade => Privacidade. Caso contrário, a solução funcionou perfeitamente! Obrigado!rm ~/Library/Cookies/HSTS.plist ; touch ~/Library/Cookies/HSTS.plist ; chmod guo-wrx ~/Library/Cookies/HSTS.plist
me ajudou, mas ajudoukillall nsurlstoraged
.Se você ativar o menu Desenvolver nas preferências do Safari, poderá limpar o cache a partir daí (CMD + ALT + E).
Você pode confirmar se a abertura do painel de controle do dispositivo na janela Privada do Safari (ou em outro navegador da web) funciona corretamente?
fonte
~/Library/Caches/com.apple.Safari
portanto o redirecionamento deve estar sendo armazenado em outro lugar. O HSTS foi o recurso que habilitei acidentalmente, mas já excluí~/Library/Cookies/HSTS.plist
.Com base na resposta de @ Haravikk: /apple//a/267783/62907
fs_usage pode ajudar:
Então nós podemos:
então:
e tente novamente.
fonte
Você terá bons resultados se usar a linha de comando
curl
do dispositivo para garantir que ele não esteja fazendo o redirecionamento. O Safari realmente não tem um mecanismo para reescrever endereços - especialmente se você fizer uma navegação privada para remover histórico, cookies, etc.Se você não tiver certeza de que limpou o seu safari o suficiente, também pode testar abrindo as preferências do sistema e criando uma conta de usuário nova / limpa no Mac e testando o site em uma versão totalmente limpa do Safari depois de sair do seu usuário normal .
fonte
Portanto, encontrei uma solução alternativa para o problema, embora essa não seja uma resposta definitiva para a pergunta real, portanto não a marcarei como tal até encontrar mais informações.
Acontece que o arquivo
~/Library/Cookies/HSTS.plist
era realmente a fonte do problema, como eu suspeitava, mas excluí-lo da conta de usuário afetada não funciona, mesmo com o Safari fechado, pois é recriado após um período desconhecido, completo com a ofensa entrada que estava forçando o redirecionamento inválido.Então, minha solução foi a seguinte:
su shortname
substituindo "shortname" pelo nome abreviado da conta de usuário afetada. Pressione Enter e, quando solicitado, digite a senha da conta afetada.rm ~/Library/Cookies/HSTS.plist
e pressione Enter, isso excluirá o arquivo de armazenamento HSTS.exit
, digite Enter e feche o Terminal.Nesse ponto, agora você pode fazer login novamente na conta de usuário afetada e o redirecionamento HSTS ofensivo deve ter desaparecido definitivamente.
Agora, embora isso ofereça uma solução utilizável, eu realmente gostaria de saber por que a exclusão do arquivo HSTS.plist da minha conta afetada não funcionou; o fato de ser recriado significa que algum processo em segundo plano é responsável por isso, o que significa que deve ser possível excluir o arquivo da conta de usuário afetada simplesmente parando esse processo, excluindo o arquivo e reiniciando o processo.
Alguém tem alguma idéia de qual processo é responsável pelo
~/Library/Cookies/HSTS.plist
arquivo? Uma vez que sabemos que deve ser possível dar uma correção mais simples ao problema.fonte
Aqui está uma ideia!
Você diz que não pode desfazer o redirecionamento configurando o servidor para redirecionar solicitações https novamente para http (pois você não tem acesso de administrador para fazer isso).
Mas e se você enganar o safari para conectar-se a um servidor diferente que ofereça esse redirecionamento reverso?
Você pode configurá-lo no
/etc/hosts
arquivo da sua máquina local .Por exemplo, digamos que o redirecionamento em cache atual seja de
http://example.com
parahttps://example.com
.Agora configure ou identifique um URL que você pode solicitar em qualquer servidor no mundo que redirecione de https para http. Digamos que o servidor tenha o endereço de
https://redirecting.example.com
.Em seguida, procure o endereço IP de
redirecting.example.com
. No Terminal, você pode fazer assim:Você obtém um resultado mais ou menos assim:
Agora abra seu arquivo / etc / hosts e adicione uma nova linha que aponte solicitações para example.com para o endereço IP de redirecionamento.exemplo.com, da seguinte maneira:
Salve as alterações e limpe o cache do DNS no terminal da seguinte maneira:
Em seguida, no Safari, faça um pedido para que
https://example.com
a resposta seja redirecionada de volta parahttp://example.com
, momento em que (o dedo cruzado), seu redirecionamento do Safari de 6 meses atrás será substituído.Quando terminar, remova a linha que você adicionou ao seu arquivo / etc / hosts e limpe seu cache DNS novamente.
fonte
~/Library/Cookies/HSTS.plist
foi o culpado, mas excluí-lo da conta afetada não funciona (pois é recriado algum tempo depois, completo com redirecionamento incorreto). Não tenho certeza de qual processo está fazendo isso.Depois de tentar todas essas soluções, o que funcionou para mim foi:
~/Library/Cookies/HSTS.plist
fonte
Meus dois centavos para o novo macOS Mojave 10.14 Beta (18A365a)
a) Você não pode parar definitivamente
nsurlstoraged
, ele é reiniciado em 2 segundos, mesmo que o sudob) você não pode excluir "HSTS.plist": se você digitar:
você recebe: Operação não permitida
c) mesmo se você tentar:
você recebe: Operação não permitida
o mesmo para
(Arquivo vazio..)
Então você não pode acessá- lo definitivamente . (talvez SIP?)
d) estranhamente você pode excluir se do Finder:
CMD Shift G "~ / Biblioteca / Cookies /"
e você pode excluir com o mouse:
e) mais estranho: você pode ir para a área de trabalho usando o mouse, editar e recolocá-lo !
(um verdadeiro absurdo, a GUI é mais poderosa que o sudo ..)
fonte
No Safari, Firefox e Chrome também, tudo o que você precisa fazer é abrir a barra lateral do desenvolvedor , selecionar a guia rede e desativar o cache .
No Safari, é uma coisa de tubo riscado, o azul ao lado do logotipo da lixeira. Ative isso e o redirecionamento permanente antigo deve ser ignorado.
O maior benefício é que você não precisa mexer nos arquivos, não excluirá todas as entradas HTST e perderá os benefícios de segurança. Também funciona em navegadores.
fonte
Primeiro, verifique se o servidor não está enviando o cabeçalho Strict-Transport-Security
Você pode fazer isso com
curl -I
(-I
apenas obtém os cabeçalhos)Se o servidor estiver enviando o cabeçalho Strict-Transport-Security, removê-lo do navegador não terá efeito, pois na próxima vez que você acessar o site, ele será definido novamente.
Remova seu site do banco de dados Http Secure Transport Security do Safari
~/Library/Cookies/HSTS.plist
Pesquise a entrada do site que você deseja acessar via http, remova-a e salve o arquivo.
nsurlstoraged
mas isso pode estar envolvido devido ao SIP, portanto, a reinicialização do computador pode ser mais simples. Veja a resposta de Grant e resposta da Quanta sobre reinícionsurlstoraged
fonte
Eu escrevi um roteiro com a resposta de Grand Heaslip:
Ele finaliza normalmente o safari, para nsurlstoraged, remove o HSTS.plist e inicia o nsurlstoraged novamente. Isso funcionou bem para mim aqui no macOS 10.13.5
fonte
Estou usando o Mojave (10.14). Eu tentei os métodos fornecidos até agora para remover o HSTS.plist. Além disso, eu precisava adicionar o Terminal à lista Preferências do sistema> Segurança e privacidade> Acesso total ao disco para curar o sintoma "Operação não permitida" ao listar o conteúdo de ~ / Library / Cookies /.
Porém, remover o arquivo e reiniciar o daemon não funcionou. Então, tentei abrir o Safari novamente, fui para Preferências, Privacidade, Gerenciar dados do site. Em seguida, removi todos os "cookies de cache, armazenamento local" do nome de domínio incorreto. Isso resolveu meu problema.
Não posso dizer agora se a remoção do HSTS foi necessária ou não.
fonte
Tente isso, vá para a Etapa 1: Vá para a pasta ~ / Library, Etapa 2: Exclua a pasta Safari de ~ / Library / Application Support, Etapa 3: Exclua as pastas abaixo de ~ / Library / Caches, Etapa 4: depois exclua ~ / Pasta Library / Safari PS: mantenha o safari fechado durante as operações acima
fonte