2015-07-20 112 views
1

我在使用請求包的2環境中運行Python腳本。Python請求拋出SSL錯誤

腳本在一個環境下工作正常,

RedHat version is : Red Hat Enterprise Linux Server release 6.5 (Santiago) 
OpenSSL version is : OpenSSL 1.0.1e-fips 11 Feb 2013 
Python Version is : Python 2.6.6 (r266:84292, Sep 4 2013, 07:46:00) 
Requests Package is : requests-2.7.0-py2.6 

但相同的腳本扔SSL錯誤在其他環境下,

RedHat version is : Red Hat Enterprise Linux Server release 6.5 (Santiago) 
OpenSSL version is : OpenSSL 1.0.1e-fips 11 Feb 2013 
Python Version is : Python 2.6.6 (r266:84292, Sep 4 2013, 07:46:00) 
Requests Package is : requests-2.7.0-py2.6 

錯誤是:

raise SSLError(e, request=request) 
requests.exceptions.SSLError: [Errno 1] _ssl.c:492: error:100AE081:elliptic curve routines:EC_GROUP_new_by_curve_name:unknown group 

我打電話的URL如下

requests.request('GET', url, verify=False, headers = headers) 

誰能幫我解決上面的錯誤

回答

4

你可以嘗試更新您的OpenSSL軟件包。問題在於軟件包與linux的兼容性。您可能會通過參考以下鏈接獲得進一步的幫助: - https://bugzilla.redhat.com/show_bug.cgi?id=1023331

+1

OpenSSL版本在問題中詳細描述的兩臺不同服務器上完全相同,但它在一箇中運行,在另一箇中不起作用。你認爲它仍然是OpenSSL版本問題 – Navya

0

您需要更新系統才能獲得較新版本的OpenSSL軟件包。 即使openssl version報告了相同版本1.0.1e-fips兩個系統上的OpenSSL庫也可能因爲RedHat添加了補丁程序而有所不同。如果需要修補程序,則不要升級到較新的OpenSSL版本,而是將修補程序應用到當前版本以保持現有應用程序的兼容性。

如果使用rpm -qi檢查rpm包的版本,您會注意到兩個機器上的包版本不同,因此升級應該爲您解決問題。

+0

嗨Steffen, 我已經在環境中檢查了rpm -qi openssl,但兩者完全相同。 – Navya

+0

@Navya:那麼我會建議做一個數據包捕獲(與tcpdump或wireshark)並比較,特別是ClientHello。如果您需要幫助,可以在cloudshark.org上抓取數據包。 –

相關問題