简体   繁体   中英

How can I add SSL capabilities in twisted portforward proxy

I have the following code for a portforward proxy. How can I add ssl support so that the proxy can connect to a server listening with ssl.

here is the code:

    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()

Check this link out. This excerpt is probably relevant to what you are looking for . 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()

"Notice how all of the protocol code from the TCP version of the echo client and server examples is the same (imported or repeated) in these SSL versions - only the reactor method used to initiate a network action is different."

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM