def get_client_ip(request):
x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
if x_forwarded_for:
ip = x_forwarded_for.split(',')[0]
else:
ip = request.META.get('REMOTE_ADDR')
return ip
确保反向代理(如果有)配置正确(例如mod_rpaf为 Apache 设置)。
注意:上面使用了第一个元素X-Forwarded-For,但您可以使用最后一个元素(例如,在 Heroku 的情况下:在 Heroku上获取客户端的真实 IP 地址)
免费翻译您问题的英文答案:
确保反向代理(如果有)配置正确(例如
mod_rpaf为 Apache 设置)。注意:上面使用了第一个元素
X-Forwarded-For,但您可以使用最后一个元素(例如,在 Heroku 的情况下:在 Heroku上获取客户端的真实 IP 地址)然后将请求作为参数传递;