Centos

CentOS PHP cURL NSS 錯誤 5938

  • March 22, 2017

在幾個 CentOS 機器上的 cURL 和 PHP 有一個奇怪的問題。

在本地,我正在執行 CentOS 6.3。遠端是 CentOS 5.9

在本地,盒子接收請求,scp 將文件發送到遠端伺服器,然後通過 PHP 向遠端伺服器執行 cURL 請求以發送一些資訊。請求總是在當天的第一次嘗試時失敗。後續請求工作正常。Remote 有一個有效的 SSL 證書——即便如此,關閉證書和主機驗證並不能解決問題。

日誌記錄不是很有幫助。將詳細程度提高到 11,最有意義的條目如下:

* About to connect() to www.example.com port 443 (#0)
*   Trying 203.0.113.10... * connected
* Connected to www.example.com (203.0.113.10) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
 CApath: none
* NSS error -5938
* Closing connection #0
* SSL connect error

Google搜尋錯誤也無濟於事。看起來 twitter 也遇到了類似的問題(https://dev.twitter.com/discussions/1549),他們顯然已經解決了這個問題,但沒有詳細說明它是如何解決的。

任何關於在哪裡查看/如何減輕問題的想法將不勝感激。

這是使用 NSS 編譯的 curl 的一般問題(僅在沒有 nss 的情況下編譯的 redhat-linuxes、debian 和 suse curl 包)。你需要從沒有 nss-library 的原始碼編譯 curl。

所以,我還沒有解決 https-connections 如何與 nss-curl 一起工作的問題。

curl –version curl 7.29.0 (x86_64-redhat-linux-gnu) libcurl/7.29.0 NSS/3.14.3.0 zlib/1.2.7 libidn/1.26 libssh2/1.4.3 協議:dict文件ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp 功能:AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz

curl –version curl 7.25.0 (x86_64-suse-linux-gnu) libcurl/7.25.0 OpenSSL/1.0.1e zlib/1.2.7 libidn/1.25 libssh2/1.4.0 協議:dict文件ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp 功能:AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP

引用自:https://serverfault.com/questions/537495