1

haproxy の背後にある sockjs サーバーがあります。ここで、クライアントの IP アドレスを取得する必要がありますが、これを使用しself.transport.getPeer()て haproxy の IP を取得します。Haproxy は、元のクライアントの IP を含む X-Forward-For ヘッダーをリクエストに追加します。

プロトコルでサーバーに送信された元の http 要求を取得するにはどうすればよいですか?

class MyProtocol(LineReceiver):
    def connectionMade(self):
        # this next line only gives me the ip of my proxy
        ip = self.transport.getPeer()

class MyFactory(protocol.ServerFactory):
    protocol = MyProtocol

my_factory = MyFactory()
sockjs_factory = SockJSMultiFactory()
sockjs_factory.addFactory(my_factory, 'echo')

sockjs_service = internet.TCPServer(10000, sockjs_factory)

application = service.Application("frog32")
sockjs_service.setServiceParent(application)
4

0 に答える 0