600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > django+vue+nginx+frp搭建漫画网站之获取访客真实ip(二)

django+vue+nginx+frp搭建漫画网站之获取访客真实ip(二)

时间:2023-07-30 09:16:00

相关推荐

django+vue+nginx+frp搭建漫画网站之获取访客真实ip(二)

地址:/

1、背景

最近听室友说,他网站有监控访客的ip,并通过钉钉通知的服务。于是我在想,我为什么不给漫画网站加这个服务呢,说整就整,首先得获取到真实ip。

2、问题

网站是部署在内网服务器上的,通过frp内网穿透到外网。因此无论是nginx还是django的访问日志里都是127.0.0.1的内网ip,因此首先得解决这个问题。

3、步骤

1、安装realip

参考nginx

frpc.ini配置proxy_protocol_version = v2后,nginx始终报400 的错误,未解决,因此换一种方式获取真实ip

2、nginx配置

proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Host $http_host;

3、django代码

这个时候真实ip在HTTP_X_FORWARDED_FOR里,参考[2]中的代码,修改成如下:

def get_ip_address(request):ip = request.META.get('HTTP_X_REAL_IP', '')if not ip and ip != '127.0.0.1':ip = request.META.get('HTTP_X_FORWARDED_FOR', '')if not ip:ip = request.META.get('REMOTE_ADDR', '') for i in ip.split(','):client_ip = i.strip()if client_ip != '127.0.0.1':return client_ipreturn ''

参考资料:

使用 Linux deploy 搭建属于自己的Nginx+PHP-Web服务器,FRP内网穿透,可获取用户真实IP /skyxc233/article/details/105666136

FRP内网穿透 + Nginx代理 + 获取真实IP /qq_36624899/article/details/113247823

FRP内网穿透 + Nginx代理 + 获取真实IP

/?p=1132

nginx反向代理后应用程序如何获取客户端真实IP?

/it_0101/article/details/78390700

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。