Kaynak yüklenemedi: net :: ERR_INSECURE_RESPONSE


206

Bu hatayı alamadım sunucu hile için bir yol var mı:

İçerik, geçerli bir güvenlik sertifikası tarafından imzalanmadığı için engellendi.

Bir html web sitesinin bir iframe'i başka bir web sitesine çekiyorum, ancak bu sorunun başlığında ve internet explorer'da konsol (krom) hatasını almaya devam ediyorum:

İçerik, geçerli bir güvenlik sertifikası tarafından imzalanmadığı için engellendi.


güvenli kaynaklardan güvenli olmayan bir kaynağa erişmeye çalıştığınız anlaşılıyor. Burada benzer bir problemleri olduğuna inanıyorum .
Derek

Yanıtlar:


301

Kaynağınız muhtemelen HTTPS protokolü üzerinden kendinden imzalı bir SSL sertifikası kullanıyor. Chromium, bu nedenle Google Chrome varsayılan olarak güvenli olmayan bu tür kaynakları engeller.

Bu şekilde atlayabilirsiniz:

  • Çerçevenizin URL'sinin olduğunu varsayarsak, chrome'da https://www.domain.comyeni bir sekme açın vehttps://www.domain.com .
  • Chrome sizden SSL sertifikasını kabul etmenizi isteyecektir. Kabul et.
  • Ardından, sayfanızı çerçevenizle yeniden yüklerseniz, şimdi işe yaradığını görebilirsiniz

Tahmin edebileceğiniz gibi sorun, web sitenizin her ziyaretçinin çerçevenize erişmek için bu görevi yapmak zorunda olmasıdır.

Chrome'un her bir gezinme oturumu için URL'nizi engelleyeceğini fark ederken, bu alana güvendiğiniz her zaman chrome ezberleyebilir.

Çerçevenize HTTPS yerine HTTP ile erişilebiliyorsa, kullanmanızı öneririm, bu nedenle bu sorun çözülecektir.


1
Diğer sekmeyi açtığınızda https://domain.comSSL sertifikasına gitmeniz ve kabul etmeniz gerektiğini düşünüyorum .
Hozefa

2
@ RémiBecheras, Chrome'un birden fazla gezinme oturumunda sertifikaya güvenmeyi hatırlamasını sağlamanın bir yolu var mı?
Felix

3
Böyle bir kural eklemek için sertifikayı almanız gerekir. Eğer seninse, zaten var. Değilse, adres çubuğundaki https sol simgesini> sertifika bilgileri> ayrıntılar> dışa aktar'ı tıklayın. Ardından, bu dosyayı kullanın
Rémi Becheras

1
Bu aynı zamanda, bir sitenin kendinden imzalı sertifikayı geçmeyi onayladığım aynı alan adına (kendisi) istek gönderdiği ancak Chrome'un bu hatayı attığı garip durum için de çalıştı.
Michael

1
İstemci tarafı kodu ile bu tür bir baypas yapmanın bir yolu var mı? Yani, istemciye programlayabilir miyim "hey erişmeye çalıştığınız bu sunucu kabataslak görünüyor, ama tamam bana güvenin. İkinizi de yazdım, teknik olarak kardeşleri / kız kardeşleri / cinsiyetsiz kardeşleri kodluyorsunuz?"
discodane

33

Bazen Google Chrome, olmamasına rağmen bu hatayı atar. Chrome'un yeni bir sürümü olduğunda bunu yaşadım ve yeniden başlatılması gerekiyordu. Aynı sayfayı yeniden başlattıktan sonra hatasız çalıştı. Konsoldaki hata:

net::ERR_INSECURE_RESPONSE

7
Onaylandı, Chrome'un yeniden başlatılması (ve tüm arka plan Chrome işlemlerini öldürmesi) benim için düzeltti.
Oran Dennison

5
çalışmıyor .. kendinden imzalı bir sertifika .. yeniden başlatarak çalışmaz
user1735921

1
Benimle de onaylandı!
nemke

@Balazs, Tarayıcıyı yeniden başlatmak tek yol mu? Yeniden başlatmayı göze alamayacağımızı varsayarsak, bunu yapmanın bir yolu var chrome://net-internalsmı?
Pacerier

1
Chrome'un yeniden başlatılması (arka plan işlemleri olmadan) bunu da benim için düzeltti. Teşekkürler!
EnocNRoll - AnandaGopal Pardue

8

Yine de (Asus T100 Windows 10 test cihazında (güncel) Edge ve Chrome tarayıcı için yukarıda açıklanan sorunu yaşadım.

Çözüm, cihazın tarih / saat ayarlarındaydı ; bir şekilde tarih doğru ayarlanmadı (geçmişte tarih). Doğru tarihi ayarlayarak (ve tarayıcıları yeniden başlatarak) bunu geri yüklemek sorunu benim için çözdü. Umarım birisine bu sorunu ayıklayan bir baş ağrısı kurtarırım.


Windows 8 çalıştıran bir asus zenbook üzerinde benzer bir hatayla karşılaşıyorum. Ne yazık ki, bu benim için işe yaramadı, ancak tarihi / saati nasıl sıfırladığınızı daha ayrıntılı olarak açıklayabilir misiniz? Sadece Windows ui zaman dilimi ayarlayarak?
DEls

@DEls, Windows yapılandırmasında zaman dilimlerini değiştirdim - sistem saatini benim için sıfırladı. Daha sonra tarayıcıyı yeniden başlattınız mı? Zamanlama sorunu çözmediyse, bu konuda açıklanan diğer çözüme bakmanız gerekebilir.
Sebastiaan Ordelman

Nedenini bilmiyorum, ama bu benim için çalıştı. Yıl 2048 olarak belirlendi, mevcut yıla değiştirildi ve hepsi düzeltildi. Teşekkürler @SebastiaanOrdelman
deanwilliammills

6

konsolunuzu açın ve içindeki URL'yi tıklayın. sizi API sayfasına götürür ve ardından sayfada SSL sertifikasını kabul eder, uygulama sayfanıza geri dönün ve yeniden yükleyin. daha önce Geliştirme ortamınız için SSL sertifikalarının verilmesi gerektiğini unutmayın.


4

Geliştiriyorsanız ve bir Windows makinesiyle geliştiriyorsanız, localhost Güvenilir Site olarak eklemeniz yeterlidir .

Ve evet, DarrylGriffiths'in yorumu uyarınca, bir Internet Explorer ayarı ekliyormuş gibi görünmenize rağmen ...

Bunların IE ayarları yerine Windows olduğuna inanıyorum. MS, yalnızca IE olduklarını varsayma eğiliminde olsa da (bu nedenle "Korumalı Modu Etkinleştir" in yanındaki uyarı IE'yi yeniden başlatmasını gerektirir) ...


4
Ben linux ubuntu kullanıyorum, windows değil, herhangi bir çözüm?
user1735921

4

Bu hataya başka bir potansiyel çözüm sunuyor.

Arka uca API çağrıları yapan bir ön uç uygulamanız varsa, sertifikanın verildiği alan adına başvurduğunuzdan emin olun.

Örneğin

https://example.com/api/etc

ve yok

https://123.4.5.6/api/etc

Benim durumumda, sertifikası olan güvenli bir sunucuya API çağrıları yapıyordum, ancak alan adı yerine IP kullanıyordum. Bu a attı Failed to load resource: net::ERR_INSECURE_RESPONSE.


0

Olası bir videoyu izlemek ve raporlamak için bu kodu deneyin net::ERR_INSECURE_RESPONSE

Chrome Ayarları'na kaydetmemeyi seçtiğim kendinden imzalı bir sertifika kullanarak da bu sorunu yaşıyordum. Https etki alanına erişip sertifikayı kabul ettikten sonra ajax çağrısı düzgün çalışır. Ancak bu kabul zaman aşımına uğradığında veya ilk kabul edilmeden önce jQuery.ajax()çağrı sessizce başarısız olur: timeoutparametre yardım gibi görünmez ve error()işlev asla çağrılmaz.

Bu nedenle, kodum asla bir success()veya error()çağrı almaz ve bu nedenle askıda kalır. Bu jquery bu hatayı ele bir hata olduğuna inanıyorum. Benim çözümümerror() belirtilen bir zaman aşımından sonra çağrıyı .

Bu kod, formun jquery ajax çağrısını varsayar. jQuery.ajax({url: required, success: optional, error: optional, others_ajax_params: optional}) .

Not: Büyük olasılıkla setTimeout, çağırmak yerine UI'nızla en iyi şekilde entegre etmek için içindeki işlevi değiştirmek isteyeceksiniz 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);
}

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.