Falha ao carregar o recurso: net :: ERR_INSECURE_RESPONSE

206

Existe uma maneira de enganar o servidor para que eu não receba este erro:

O conteúdo foi bloqueado porque não foi assinado por um certificado de segurança válido.

Estou puxando um iframe de um site html para outro site, mas continuo recebendo o erro do console (chrome) no título desta pergunta e no Internet Explorer diz:

O conteúdo foi bloqueado porque não foi assinado por um certificado de segurança válido.

user3594437
fonte
parece que você está tentando acessar um recurso não seguro a partir de recursos seguros. Eu acredito que eles têm um problema semelhante aqui .
Derek

Respostas:

301

Seu recurso provavelmente usa um certificado SSL autoassinado através do protocolo HTTPS. Chromium, então o Google Chrome bloqueia por padrão esse tipo de recurso considerado inseguro.

Você pode ignorar isso desta maneira:

  • Supondo que o URL do seu quadro seja https://www.domain.com, abra uma nova guia no chrome e vá para https://www.domain.com.
  • O Chrome solicitará que você aceite o certificado SSL. Aceite isso.
  • Então, se você recarregar sua página com seu quadro, poderá ver que agora ele funciona

O problema, como você pode imaginar, é que cada visitante do seu site precisa executar esta tarefa para acessar seu quadro.

Você pode perceber que o chrome bloqueará seu URL para cada sessão de navegação, enquanto o chrome pode memorizar para sempre que você confia neste domínio.

Se o seu quadro puder ser acessado por HTTP em vez de HTTPS, sugiro que você o use, para que esse problema seja resolvido.

Rémi Becheras
fonte
1
Acho que quando você abre a outra guia, precisa acessar https://domain.come aceitar o certificado SSL.
Hozefa 8/08/2014
2
@ RémiBecheras, existe alguma maneira de o Chrome lembrar de confiar no certificado em várias sessões de navegação?
Felix
3
Para adicionar uma regra, você precisa obter o certificado. Se é seu, você já o possui. Caso contrário, clique no ícone https à esquerda na barra de endereços> informações do certificado> detalhes> exportar. Em seguida, use este arquivo
Rémi Becheras 2/15
1
Isso também funcionou no caso estranho em que um site estava enviando uma solicitação para o mesmo domínio (em si) que eu havia aprovado após continuar o certificado autoassinado, mas o Chrome estava lançando esse erro.
Michael
1
Existe uma maneira de fazer esse tipo de desvio através do código do lado do cliente? Ou seja, posso programar para o cliente "ei, esse servidor que você está tentando acessar parece incompleto, mas tudo bem, confie em mim. Eu escrevi para vocês dois: vocês são tecnicamente codificados como irmãos / irmãs / irmãos neutros em termos de gênero"?
Discodane
33

Às vezes, o Google Chrome lança esse erro, mesmo que não deva. Eu experimentei quando o Chrome tinha uma nova versão e precisava ser reiniciada. Depois de reiniciar a mesma página funcionou sem erros. O erro no console foi:

net::ERR_INSECURE_RESPONSE
Balazs Nemeth
fonte
7
Confirmado, uma reinicialização do Chrome (e matando todos os processos em segundo plano do Chrome) o corrigiu para mim.
Oran Dennison
5
não trabalho .. é um certificado auto-assinado .. Não vai funcionar reiniciando
user1735921
1
Confirmado também comigo!
nemke
@Balazs, reiniciar o navegador é a única maneira? Supondo que não podemos dar ao luxo de reiniciar, existe uma maneira de fazê-lo via chrome://net-internals?
Pacerier 21/01
1
Um reinício do Chrome (sem processos em segundo plano) também o corrigiu. Obrigado!
EnocNRoll - AnandaGopal Pardue
8

Ainda encontrei o problema descrito acima em um dispositivo de teste Asus T100 Windows 10 para o navegador Edge e Chrome (atualizado).

A solução estava nas configurações de data / hora do dispositivo ; de alguma forma, a data não foi definida corretamente (data no passado). Restaurar isso definindo a data correta (e reiniciando os navegadores) resolveu o problema para mim. Espero poupar a alguém uma dor de cabeça ao depurar esse problema.

Sebastiaan Ordelman
fonte
Estou encontrando um erro semelhante em um asus zenbook executando o Windows 8. Infelizmente, isso não funcionou para mim, mas você pode explicar com mais detalhes como redefinir a data / hora? Apenas definindo o fuso horário através da interface do usuário do windows?
Dels
@DEls, mudei de fuso horário na configuração do Windows - que redefinem o relógio do sistema para mim. Você reiniciou o navegador depois? Se o tempo não resolver o problema, talvez seja necessário procurar a outra solução descrita neste tópico.
Sebastiaan Ordelman
Não sei por que, mas isso funcionou para mim. O ano foi definido para 2048, alterado para o ano atual e tudo corrigido. Obrigado @SebastiaanOrdelman
deanwilliammills 4/18
6

abra seu console e pressione o URL dentro. leva você para a página da API e, na página, aceita o certificado SSL, volta para a página do aplicativo e recarrega. lembre-se de que os certificados SSL já deveriam ter sido emitidos para o seu ambiente Dev.

Ramin Ahmadi
fonte
4

Se você estiver desenvolvendo e desenvolvendo com uma máquina Windows, basta adicionar localhost como um Site Confiável .

E sim, pelo comentário de DarrylGriffiths, embora possa parecer que você está adicionando uma configuração do Internet Explorer ...

Eu acredito que essas são as configurações do Windows e não do IE. Embora a Microsoft suponha que eles são apenas o IE (daí o alerta ao lado de "Ativar modo protegido" de que ele solicita a reinicialização do IE) ...

Jim G.
fonte
4
Estou usando o linux ubuntu, não o windows, alguma solução?
user1735921
4

Oferecendo outra solução potencial para esse erro.

Se você tiver um aplicativo de front-end que faça chamadas de API para o back-end, não deixe de referenciar o nome de domínio para o qual o certificado foi emitido.

por exemplo

https://example.com/api/etc

e não

https://123.4.5.6/api/etc

No meu caso, eu estava fazendo chamadas de API para um servidor seguro com um certificado, mas usando o IP em vez do nome de domínio. Isso jogou um Failed to load resource: net::ERR_INSECURE_RESPONSE.

Liam George Betsworth
fonte
0

Experimente este código para procurar e relatar uma possível net::ERR_INSECURE_RESPONSE

Eu também estava com esse problema, usando um certificado autoassinado, que decidi não salvar nas Configurações do Chrome. Depois de acessar o domínio https e aceitar o certificado, a chamada ajax funciona bem. Porém, uma vez que a aceitação excedeu o tempo limite ou antes de ser aceita pela primeira vez, a jQuery.ajax()chamada falha silenciosamente: o timeoutparâmetro não parece ser útil e a error()função nunca é chamada.

Como tal, meu código nunca recebe uma chamada success()ou error()e, portanto, trava. Eu acredito que isso seja um bug no manuseio desse erro pelo jquery. Minha solução é forçar a error()chamada após um tempo limite especificado.

Este código assume uma chamada jquery ajax do formulário jQuery.ajax({url: required, success: optional, error: optional, others_ajax_params: optional}).

Nota: Você provavelmente desejará alterar a função dentro de setTimeoutpara integrar melhor à sua interface do usuário: em vez de chamar alert().

const MS_FOR_HTTPS_FAILURE = 5000;
$.orig_ajax = $.ajax;
$.ajax = function(params)
{
  var complete = false;
  var success = params.success;
  var error = params.error;
  params.success = function() {
    if(!complete) {
      complete = true;
      if(success) success.apply(this,arguments);
    }
  }
  params.error = function() {
    if(!complete) {
      complete = true;
      if(error) error.apply(this,arguments);
    }
  }
  setTimeout(function() {
    if(!complete) {
      complete = true;
      alert("Please ensure your self-signed HTTPS certificate has been accepted. "
        + params.url);
      if(params.error)
        params.error( {},
          "Connection failure",
          "Timed out while waiting to connect to remote resource. " +
          "Possibly could not authenticate HTTPS certificate." );
    }
  }, MS_FOR_HTTPS_FAILURE);

  $.orig_ajax(params);
}
JJ Stiff
fonte
0

Esse problema é devido ao seu https que significa certificação SSL. Experimente o Localhost.

Sachin de Pune
fonte