1
目前有關這個主題的問題沒有解決我的問題,也沒有谷歌。SSL EOF發生違反協議與蟒蛇httplib
相關的服務器代碼:
class ReuseHTTPServer(BaseHTTPServer.HTTPServer):
def __init__(self, address, handler, queue=None):
BaseHTTPServer.HTTPServer.__init__(self, address, handler)
self.address = address
ssl_socket = ssl.wrap_socket(socket.socket(self.address_family, self.socket_type),
keyfile = KEY_PATH,
certfile = CERTIFICATE_PATH,
server_side = True,
cert_reqs = ssl.CERT_REQUIRED,
ssl_version = ssl.PROTOCOL_TLSv1,
ca_certs = CA_PATH)
s = self.socket.getsockname()
print "serving:", s[0], "on port:", s[1]
self.socket = ssl_socket
self.server_bind()
self.server_activate()
客戶端代碼:
conn = https.HTTPSConnection(HOST, port=PORT, key_file=KEY_PATH, cert_file=CERT_PATH)
conn.putrequest("GET", '/cgi-bin/retrieveRunningInstances')
conn.endheaders()
response = conn.getresponse()
嘗試與客戶端連接得到一個錯誤號SSLError 8; EOF違反協議發生。我使用openssl驗證了證書。我正在拉我的頭髮。任何幫助,將不勝感激。
編輯:
在conn.getresponse()
握手過程中發生的錯誤。
今天我會看看。感謝您的答覆。 – Lunchbox
不是確切的答案,但問題出在我的證書文件上,你的回答讓我朝着正確的方向前進。謝謝! – Lunchbox