• Hallo,


    Ik ben bezig met cURL om een aanvraag te doen naar een server.
    De server heeft een (gratis, letsencrypt) certificaat.


    Ik gebruik onderstaande code:


    Ik krijg de volgende error:

    Code
    tring(60) "SSL read: error:00000000:lib(0):func(0):reason(0), errno 104" array(26) { ["url"]=> string(36) "https://www.test.nl/nl/index.php" ["content_type"]=> NULL ["http_code"]=> int(0) ["header_size"]=> int(0) ["request_size"]=> int(246) ["filetime"]=> int(-1) ["ssl_verify_result"]=> int(0) ["redirect_count"]=> int(0) ["total_time"]=> float(0.017412) ["namelookup_time"]=> float(0.00016) ["connect_time"]=> float(0.001803) ["pretransfer_time"]=> float(0.011763) ["size_upload"]=> float(0) ["size_download"]=> float(0) ["speed_download"]=> float(0) ["speed_upload"]=> float(0) ["download_content_length"]=> float(-1) ["upload_content_length"]=> float(0) ["starttransfer_time"]=> float(0) ["redirect_time"]=> float(0) ["redirect_url"]=> string(0) "" ["primary_ip"]=> string(14) "12.23.
    45.67" ["certinfo"]=> array(0) { } ["primary_port"]=> int(443) ["local_ip"]=> string(14) "44.55.66.77" ["local_port"]=> int(41618) }

    Ik heb al gebruik gemaakt van de CURLOPT_SSL_VERIFYHOST en CURLOPT_SSL_VERIFYPEER functies in PHP maar kom er niet uit.
    De website is zonder https niet te bereiken.
    De data is niet belangrijk, dus het uitzetten van deze 'check?' is voor mij een goeie oplossing.


    Iemand een idee hoe dit is op te lossen?


    Pekeltje

  • Guest, wil je besparen op je domeinnamen? (ad)
  • Heb je al geGoogled op cURL https of errorcode 104?


    In het eerste resultaat van de eerste zoekopdracht staat iets over een verouderd bestand dat cURL gebruikt voor het authenticeren van certificaten (dateert weliswaar uit 2008). Er staat wel iets in over het uitzetten van opties als VERIFYPEER. Dit zou je code vatbaar maken voor Man In The Middle attacks.


    Het eerste resultaat van de tweede zoekopdracht staat ongeveer hetzelfde geloof ik, met een toevoeging dat je openssl extensie actief moet zijn om dit soort requests te doen.


    Dit alles kostte mij minder dan 5 minuten zoekwerk.


    EDIT
    Dit zou je kunnen gebruiken als startpunt van je zoektocht.


    In het eerste resultaat staat ook iets over het aanzetten van redirects (middels FOLLOWLOCATION), dit doet cURL standaard niet. Mogelijk wordt je geredirect als je de initiële URL aanroept?

  • Sorry voor de late reactie.


    Ik had de VERIFYPEER en VERIFYHOST functies al gebruikt, dit lijkt niet te werken (Er veranderd totaal niets)


    Ik heb openssl actief op mijn server, phpinfo geeft ook aan dat dit actief is.
    De redirect functie had ook geen effect, die heb ik blijkbaar uit de demo gehaald maar heb ik standaard altijd aan.


    Ik zal morgen de .pam manier in 1 van je links proberen, hoewel het uitzetten van de verify functies in mijn ogen dit probleem al had moeten oplossen.

  • Om nog een aantal zaken uit te sluiten: jouw website (waar naar teruggecommuniceerd moet worden) is ook bereikbaar vanaf het internet?


    In de tweede link staat ook iets over het verschil tussen curl_error() en curl_errno(), je zou eens kunnen proberen om de correcte errorcode op te halen met curl_errno(), mogelijk wijst deze je veel nauwkeuriger in de richting van een mogelijke fout.

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!