使用Twisted的基本SSL服务器未响应
我现在正在尝试用Twisted搭建一个基本的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()
然后我试着用Firefox访问这个服务器,把网址设置为 https://localhost:8080,但我没有收到任何响应。不过,我确实看到数据到达了服务器。你们知道为什么我没有收到响应吗?
2 个回答
2
你没有把一个http头信息发回给浏览器,而且你也没有关闭连接。
1
你这里实现的是一个SSL回显服务器,而不是HTTPS服务器。要进行交互测试,使用openssl s_client
命令,而不是用火狐浏览器(或者其他任何HTTP客户端)。