ด้วยเหตุผลบางประการฉันไม่สามารถใช้ CURL กับ HTTPS ได้ ทุกอย่างทำงานได้ดีจนกระทั่งฉันอัปเกรดไลบรารี curl ตอนนี้ฉันพบคำตอบนี้เมื่อพยายามดำเนินการร้องขอ CURL: ปัญหาเกี่ยวกับใบรับรอง SSL CA (เส้นทาง? สิทธิ์การเข้าถึง?)
คำแนะนำต่อไปนี้โพสต์ที่นี่เกี่ยวกับปัญหาที่เกี่ยวข้องฉันได้พยายามทำสิ่งต่อไปนี้:
ปิดการใช้งานการตรวจสอบสำหรับโฮสต์และเพียร์
curl_setopt($cHandler, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($cHandler, CURLOPT_SSL_VERIFYPEER, true);
เปิดใช้งาน
CURLOPT_SSL_VERIFYPEER
และชี้ไปที่ cacert.pem ดาวน์โหลดจากhttp://curl.haxx.se/docs/caextract.htmlcurl_setopt($cHandler, CURLOPT_SSL_VERIFYPEER, true); curl_setopt($cHandler, CURLOPT_CAINFO, getcwd() . "/positiveSSL.ca-bundle");
ฉันยังพยายามทำสิ่งเดียวกันกับ positiveSSL.ca-bundle ซึ่งให้ไว้เป็นใบรับรอง CA ของบันเดิลสำหรับเซิร์ฟเวอร์ที่ฉันพยายามเชื่อมต่อ
แก้ไขการตั้งค่า php ini ด้วย
curl.cainfo=cacert.pem
(ไฟล์ในไดเร็กทอรีเดียวกันและเข้าถึงได้โดย apache)เปลี่ยนชื่อ
/etc/pki/nssdb
เป็น/etc/pki/nssdb.old
โชคไม่ดีที่ข้อใดข้างต้นสามารถแก้ปัญหาของฉันได้และฉันได้รับข้อความ Problem with SSL CA cert (path? access rights?) อยู่ตลอดเวลา
และฉันไม่ต้องการการยืนยันนี้ตั้งแต่แรก (ฉันตระหนักถึงปัญหาด้านความปลอดภัย)
ใครมีคำแนะนำอื่น ๆ อีกไหม?
UPDATE
หลังจากอัปเดตเป็นไลบรารีล่าสุดและรีสตาร์ททั้งกล่องไม่ใช่แค่ apache ที่ฉันทำทุกอย่างดูเหมือนจะใช้งานได้อีกครั้ง !!!