# Squid uses X-Forwarded-For, others use X-Real-Ip
ip = self.headers.get("X-Forwarded-For", self.remote_ip)
ip = ip.split(',')[-1].strip()
ip = self.headers.get(
"X-Real-Ip", ip)
if netutil.is_valid_ip(ip):
self.remote_ip = ip
# AWS uses X-Forwarded-Proto
proto = self.headers.get(
"X-Scheme", self.headers.get("X-Forwarded-Proto", self.protocol))
if proto in ("http", "https"):
self.protocol = proto
下面是一个基于服务器的片段,我在其中从请求中检索了一些头数据:
您可以使用类似于
tornado/httpserver.py
的逻辑,或者只使用xheaders=True
创建tornado.httpserver.HTTPServer()
。相关问题 更多 >
编程相关推荐