在運行 Mojave(10.14.3 - 但自從升級到 Mojave 後出現錯誤)的 Apple Mac 上,當嘗試在命令列上使用 CURL 進行連接時,我經常(但隨機)收到 SSL 錯誤,例如:
curl -vvvvv https://bbc.co.uk
* Rebuilt URL to: https://bbc.co.uk/
* Trying 151.101.192.81...
* TCP_NODELAY set
* Connected to bbc.co.uk (127.0.0.1) port 443 (#0)
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
* CAfile: /usr/local/etc/openssl/cert.pem
CApath: /usr/local/etc/openssl/certs
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to bbc.co.uk:443
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to bbc.co.uk:443
任何 https 呼叫都會發生相同的錯誤
curl https://google.co.uk
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to google.co.uk:443
重新啟動總是能解決此問題,但並不總是很方便。有沒有人遇到過這個問題並解決了?
然後(顯然)停止思考像brew命令工作和git等
我嘗試運行:
security verify-cert -L -c /etc/ssl/cert.pem
Cert Verify Result: CSSMERR_TP_CERT_EXPIRED
運行時:
security verify-cert -L -c /usr/local/etc/openssl/cert.pem
...certificate verification successful.
所以搬走了/etc/ssl/cert.pem
並嘗試將其符號鏈接到/usr/local/etc/openssl/cert.pem
但仍然沒有樂趣。
其他一些資訊:
openssl version
OpenSSL 1.0.2p 14 Aug 2018
which openssl
/usr/local/opt/openssl/bin/openssl
我也嘗試過:
networksetup -setv6off Wi-Fi
使用 wget:
wget https://google.co.uk
--2019-03-26 10:35:10-- https://google.co.uk/
Resolving google.co.uk... 216.58.201.35
Connecting to google.co.uk|216.58.201.35|:443... connected.
Unable to establish SSL connection.
但這也沒有什麼區別。網頁瀏覽運作正常,因此 https 可以正常透過網路。
其他注意事項,我安裝了卡巴斯基安全軟體 (KIS)(無法開啟首選項,大概是因為它無法在背景執行某種 SSL 呼叫)KIS 配置為不掃描 https 連線(或任何設定)。我還運行 MAMP,當 php 腳本嘗試與外部伺服器(API 呼叫等)通訊時,它們都無法連接,可能會出現相同的 openssl 錯誤?
我的猜測是一些網路服務需要重新啟動,但我更像是 Ubuntu 系統管理員而不是 MacOS,所以我不知道這些命令。
幫助? :-)
編輯: 我注意到了這一行:
* Connected to bbc.co.uk (127.0.0.1) port 443 (#0)
上面這顯然很奇怪,因為它不應該嘗試連接到本地主機,所以憑直覺我殺死了 KIS,然後它開始工作! (我嘗試只是禁用安全性,但這沒有什麼區別)快樂的日子!
但現在,如果我嘗試重新啟動 KIS,它將無法正常啟動(只是在框中間掛起一條「正在啟動...」訊息)。所以我可能會刪除 KIS 並尋找替代方案。 :-(
答案1
嘗試按照上面的評論建議關閉卡巴斯基。或者您可以嘗試按照卡巴斯基論壇上的指南停用 SSL 攔截。
開啟卡巴斯基安全軟體
去
設定 -> 其他 -> 網路 -> 不掃描加密連線。
重啟
答案2
類似的情況,macbook pro,卡巴斯基安全軟體的問題。過程完成後,一切正常。