目前关于这个主题的问题并没有解决我的问题,谷歌也没有。
相关服务器代码:
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 errno 8;EOF 发生违反协议。我已经使用 openssl 验证了证书。我正在拔头发。任何帮助,将不胜感激。
编辑:
错误发生在握手过程中conn.getresponse()
。