使用 frps 和 Nginx 实现 IP 访问记录追踪

内容目录

在分布式应用和远程服务中,追踪用户的访问记录对于分析用户行为、诊断问题以及增强安全性至关重要。frp 是一个可用于内网穿透的高性能的反向代理应用,而 Nginx 是一个广泛使用的高性能 HTTP 和反向代理服务器。本文将介绍如何结合使用 frps 和 Nginx 来实现对用户 IP 地址的访问记录追踪。

图片[1]-使用 frps 和 Nginx 实现 IP 访问记录追踪-连界优站

环境准备

在开始之前,确保你已经安装了以下软件:

  • frps:frp 的服务器端。
  • Nginx:作为反向代理服务器。
  • frpc:frp 的客户端,用于连接到 frps。

一、配置 frps

  1. 安装 frps 下载并安装 frps,你可以从 frp 的 GitHub 仓库获取最新的二进制包或源代码编译安装。
  2. 编辑配置文件 编辑 frps.ini 文件,配置监听端口和日志文件等信息。例如:
   [common]
   bind_port = 80
   dashboard_port = 7500
   log_file = /var/log/frps.log

   

[http]

type = http name = http_proxy

这里配置了一个名为 http_proxy 的服务,监听 80 端口,并启用了仪表盘功能,可以查看客户端连接状态。

  1. 启动 frps 使用以下命令启动 frps:
   ./frps -c /etc/frp/frps.ini

二、配置 Nginx

  1. 安装 Nginx 如果还没有安装 Nginx,可以通过包管理器安装,例如在 Ubuntu 上使用:
   sudo apt update
   sudo apt install nginx
  1. 编辑 Nginx 配置文件 编辑 /etc/nginx/sites-available/default 或其他站点配置文件,添加以下内容:
   server {
       listen 80;
       server_name localhost;

       location / {
           proxy_pass http://<frps_host>:8080;
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

           access_log /var/log/nginx/access.log combined;
       }
   }

注意将 <frps_host> 替换为 frps 服务器的实际地址或域名。

这里配置了 Nginx 作为反向代理,将请求转发给通过 frps 暴露的服务,并且设置了访问日志记录,其中 X-Real-IPX-Forwarded-For 头部用于记录客户端的真实 IP 地址。

  1. 重启 Nginx 修改完配置后,需要重启 Nginx 使配置生效:
   sudo systemctl restart nginx

三、配置 frpc

  1. 安装 frpc 下载并安装 frpc,同样可以从 frp 的官方仓库获取。
  2. 编辑配置文件 编辑 frpc.ini 文件,配置连接到 frps 的信息:
   [common]
   server_addr = <frps_host>
   server_port = 7500
   dashboard_addr = <frps_host>
   dashboard_port = 7500

   

[http]

type = http name = http_proxy local_port = 8080

注意将 <frps_host> 替换为 frps 服务器的实际地址或域名。

  1. 启动 frpc 使用以下命令启动 frpc:
   ./frpc -c /etc/frp/frpc.ini

四、测试和验证

启动所有服务后,可以通过访问 Nginx 的监听地址来测试服务是否正常工作。同时,可以通过检查 Nginx 的访问日志来验证是否成功记录了客户端的 IP 地址。

总结

通过结合使用 frps 和 Nginx,我们可以轻松地实现分布式环境下对用户 IP 地址的访问记录追踪。frps 为我们提供了一个简单易用的内网穿透解决方案,而 Nginx 则负责处理反向代理和日志记录等功能。希望本文能帮助你在实际项目中更好地管理和监控用户访问行为。

© 版权声明
THE END
喜欢就支持一下吧
点赞14赞赏 分享