Django 获取用户IP

获取代理函数

python 复制代码
def get_ip(request):
    # 判断是否使用代理
    x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
    if x_forwarded_for:
        # 使用代理获取真实的ip
        ip = x_forwarded_for.split(',')[0]
    else:
        # 未使用代理获取IP
        ip = request.META.get('REMOTE_ADDR')

    return HttpResponse('{"origin": "%s"}' % ip)

生产环境配置NGINX

bash 复制代码
# nginx配置
location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

在使用NGINX做负载均衡的生产环境中如果不配置NGINX,那么 request.META.get('REMOTE_ADDR') 获取到的是NGINX负载均衡proxy_pass 127.0.0.1 IP,而不是实际用户IP

相关推荐
敢敢のwings几秒前
VGGT-Long:极简主义驱动的公里级单目三维重建系统深度解析(Pytorch安装手册版)
人工智能·pytorch·python
aiguangyuan4 分钟前
CART算法简介
人工智能·python·机器学习
龘龍龙9 分钟前
Python基础学习(十)
服务器·python·学习
轻竹办公PPT12 分钟前
用 AI 制作 2026 年工作计划 PPT,需要准备什么
大数据·人工智能·python·powerpoint
Mqh18076212 分钟前
day58 经典时序预测模型
python
Amelia11111112 分钟前
day44
python
高洁0116 分钟前
10分钟了解向量数据库(1)
python·深度学习·机器学习·transformer·知识图谱
DP+GISer18 分钟前
00基于pytorch的深度学习遥感地物分类全流程实战教程(包含遥感深度学习数据集制作与大图预测)-前言
pytorch·python·深度学习·图像分割·遥感·地物分类
耶夫斯计26 分钟前
【SQL_agent】基于LLM实现sql助理
数据库·python·sql·语言模型
vibag26 分钟前
RAG向量数据库
python·语言模型·langchain·大模型