私はツイストにかなり慣れていないので、twisted.web.proxy.ReverseProxyResource を利用してリバース プロキシを作成しようとしています。最終的には、クライアントが SSL を使用して接続するようにしたいので、リクエストを検証して、SSL バックエンド サーバーにのみ渡します。以下の (非常に) 基本的なコードから始めていますが、SSL バックエンドに接続するのに苦労しており、ドキュメントが不足していることに気づきました。誰かが私にいくつかの良い指針、または理想的にはいくつかのサンプルコードを与えることができますか?
以下のコードでは、プレーンな HTTP サーバーにヒットすることを期待しているため、明らかに機能しません。これを「ssl」するにはどうすればよいでしょうか?
いつものように、どんな助けもとても、とても、とても感謝しています。
ありがとう
アレックス
from twisted.internet import reactor
from twisted.web import proxy, server
from twisted.web.resource import Resource
class Simple(Resource):
isLeaf = False
def getChild(self, name, request):
print "getChild called with name:'%s'" % name
#host = request.getAllHeaders()['host']
host = "127.0.0.1" #yes there is an SSL host listening here
return proxy.ReverseProxyResource(host, 443, "/"+name)
simple = Simple()
site = server.Site(simple)
reactor.listenTCP(8000, site)
reactor.run()