我目前正在努力将基本的SSL服务器整合在一起。我在他们的网站上删除了以下示例:
from twisted.internet import ssl, reactor
from twisted.internet.protocol import Factory, Protocol
class Echo(Protocol):
def dataReceived(self, data):
"""As soon as any data is received, write it back."""
print "dataReceived: %s" % data
self.transport.write(data)
if __name__ == '__main__':
factory = Factory()
factory.protocol = Echo
print "running reactor"
reactor.listenSSL(8080, factory,
ssl.DefaultOpenSSLContextFactory(
"./test/privatekey.pem", "./test/cacert.pem"))
reactor.run()
然后我尝试通过将网址设置为https://localhost:8080来使用firefox命中此服务器,但我没有得到任何响应。但是,我确实看到数据到达服务器。任何想法,为什么我没有得到回应?
答案 0 :(得分:2)
您没有将http标头发送回浏览器,而且您没有关闭连接
答案 1 :(得分:1)
您已在此处实施了SSL echo服务器,而非HTTPS服务器。使用openssl s_client
命令以交互方式测试它,而不是firefox(或任何其他HTTP客户端)。