在ALB请求头中,Host字段显示的是URL而不是IP地址。如果你想要显示IP地址而不是URL,可以使用X-Forwarded-For和X-Forwarded-Proto请求头来获取客户端的IP地址和协议。
以下是一个使用Python Flask框架的示例代码,可以通过获取X-Forwarded-For和X-Forwarded-Proto请求头来显示客户端的IP地址和协议:
from flask import Flask, request
app = Flask(__name__)
@app.route('/')
def index():
ip = request.headers.get('X-Forwarded-For', request.remote_addr)
protocol = request.headers.get('X-Forwarded-Proto', 'http')
return f'IP: {ip}\nProtocol: {protocol}'
if __name__ == '__main__':
app.run()
在上述代码中,我们使用request.headers.get方法来获取请求头中的X-Forwarded-For和X-Forwarded-Proto字段的值。如果这些字段不存在,则使用request.remote_addr来获取客户端的IP地址。
通过运行上述代码,你可以启动一个Flask应用,并访问该应用的根URL。应用将返回客户端的IP地址和协议。
请注意,这只是一个示例代码,实际应用中可能需要根据具体的需求进行适当的修改和调整。