我有一个位于 haproxy 后面的 sockjs 服务器。现在我需要一个客户的 IP 地址,但使用self.transport.getPeer()
我得到了我的 haproxy 的 IP。Haproxy 在请求中添加一个 X-Forward-For 标头,其中包含原始客户端的 ip。
如何获取在我的协议中发送到服务器的原始 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)