Am două servere A
și B
care găzduiesc site-uri web care funcționează bine într-un browser cu https. Pictograma de lacăt din browsere arată certificate SSL active și de încredere.
Încerc să rulez curl astfel încât acel server A
pot vorbi cu serverul B
, dar ma confrunt cu o eroare.
- Server A -
$ curl https://dev.partsvu.com
CAfile: /etc/pki/tls/certs/ca-bundle.crt
curl: (60) Emitentul certificatului Peer nu este recunoscut.
Am făcut câteva cercetări în jurul site-urilor Stack Overflow și am întâlnit multe întrebări, cu toate acestea, soluțiile lor nu au funcționat pentru mine.
Am încercat mai întâi să descarc fișierele certificatelor pentru server B
dintr-un raport SSL Labs și a adăugat manual lista de certificate la /etc/pki/tls/certs/ca-bundle.crt
fișier pe server A
dar inca primesc aceeasi eroare.
De asemenea, m-am asigurat că serverul B
certificatul este valabil cu următoarele:
- Server B -
openssl x509 -dates -noout < /etc/pki/tls/certs/cloudflare.pem
notBefore=6 mai 21:25:00 2022 GMT
notAfter=2 mai 21:25:00 2037 GMT
De asemenea, am încercat să copiez conținutul /etc/pki/tls/certs/cloudflare.pem
pe server B
direct la /etc/pki/tls/certs/ca-bundle.crt
pe server A
dar aceeasi eroare.
În cele din urmă, am încercat să vizitez serverul B
în Chrome și a descărcat fișierul crt la care apare https://cacerts.digicert.com/CloudflareIncECCCA-3.crt
, l-a convertit în pem cu:
openssl x509 -inform DES -in CloudflareIncECCCA-3.crt -out outcert.pem
și a adăugat asta la același lucru ca-bundle.crt
fișier pe server A
.
Aceeași eroare când încercați să rulați curl.
Iată lanțul de certificări de la Chrome: