我有一个端口代理的以下代码。我该如何添加 ssl支持,以便代理可以连接到使用ssl监听的服务器。
这是代码:
from twisted.internet import reactor
from twisted.protocols import portforward
class ProxyServer(portforward.ProxyServer):
def dataReceived(self, data)
portforward.ProxyServer.dataReceived(self, data)
class ProxyFactory(portforward.ProxyFactory):
protocol = ProxyServer
reactor.listenTCP(8080,ProxyFactory("127.0.0.1",443) )
reactor.run()
答案 0 :(得分:1)
检查此链接。这段摘录可能与您正在寻找的内容相关。 https://twistedmatrix.com/documents/13.2.0/core/howto/ssl.html
with open('server.pem') as keyAndCert:
cert = ssl.PrivateCertificate.loadPEM(keyAndCert.read())
log.startLogging(sys.stdout)
factory = Factory()
factory.protocol = echoserv.Echo
reactor.listenSSL(8000, factory, cert.options())
reactor.run()
"请注意,在这些SSL版本中,来自TCP版本的echo客户端和服务器示例的所有协议代码是相同的(导入的还是重复的) - 只有用于启动网络操作的reactor方法不同"