Ben de bu problemle karşılaştım. Bu konuyu okudum ve cevapların çoğu bilgilendirici ama benim için aşırı karmaşık. Ağ konularında deneyimli değilim, bu yüzden bu cevap benim gibi insanlar için.
Benim durumumda, bu hata oluştu çünkü uygulamamda kullandığım sertifikanın yanına ara ve kök sertifikaları dahil etmedim.
SSL sertifikası tedarikçisinden aldığım şey:
- abc.crt
- abc.pem
- abc-bunde.crt
Gelen abc.crt
dosyanın sadece bir sertifika vardı:
-----BEGIN CERTIFICATE-----
/*certificate content here*/
-----END CERTIFICATE-----
Bu biçimde sağladıysam, tarayıcı herhangi bir hata göstermez (Firefox) ama curl: (60) SSL certificate : unable to get local issuer certificate
bukle isteğini yaptığımda hata alırdım.
Bu hatayı düzeltmek için abc-bunde.crt
dosyanızı kontrol edin . Büyük olasılıkla böyle bir şey göreceksiniz:
-----BEGIN CERTIFICATE-----
/*additional certificate content here*/
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
/*other certificate content here*/
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
/*different certificate content here*/
-----END CERTIFICATE-----
Bunlar Ara ve kök sertifikalarınızdır. Uygulamanıza sağladığınız SSL sertifikasında eksik oldukları için hata oluşuyor.
Hatayı düzeltmek için, bu dosyaların her ikisinin de içeriğini şu biçimde birleştirin:
-----BEGIN CERTIFICATE-----
/*certificate content here*/
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
/*additional certificate content here*/
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
/*other certificate content here*/
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
/*different certificate content here*/
-----END CERTIFICATE-----
Dosyanın sonunda veya başında sertifikalar arasında boşluk olmadığını unutmayın. Bu birleşik sertifikayı uygulamanıza verdikten sonra sorununuz çözülmelidir.