跳至正文
-
记录IT系统运维路上的点滴思考
IT人的工作生活 IT人的工作生活

实用的IT技术经验分享 | 网管运维人员的故事

IT人的工作生活 IT人的工作生活

实用的IT技术经验分享 | 网管运维人员的故事

  • 首页
  • IT技术
    • 软件
    • 硬件
    • 网络
    • 工作应用
  • 手机
  • 生活琐事
  • 杂记
  • 站务公告
    • 关于本站
    • 版权声明
  • 首页
  • IT技术
    • 软件
    • 硬件
    • 网络
    • 工作应用
  • 手机
  • 生活琐事
  • 杂记
  • 站务公告
    • 关于本站
    • 版权声明
关

搜索

首页/IT技术/工作应用/内网穿透后Nginx日志显示真实访客IP:frp + Proxy Protocol配置详解
工作应用软件

内网穿透后Nginx日志显示真实访客IP:frp + Proxy Protocol配置详解

作者 shoutim
2026年5月21日 2 分钟阅读

笔者在内网部署了一个可道云系统,依赖于 nginx+php。为了让笔者在外网也可以通过自己手机的app连接这个可道云系统,笔者购买了一个有固定IP公网地址的服务器,操作系统是 Ubuntu Server,然后使用 frp 程序实现内网穿透功能,从而可以在外网通过app和指定的端口访问可道云系统。

但既然外网可访问,难免会遇到一些端口扫描和非法访问,因此,有必要经常查看访问日志,从访问日志中筛选一些异常记录并且及时处理发现的问题。不过在一般情况下,内网中的nginx日志记录,对于从frp服务转发而来的访问(尤其是代理type = “tcp”的),访客IP地址可能会显示“127.0.0.1”(如下图),而不是显示访客实际所使用的公网IP。那么有没有办法让nginx日志中显示访客实际的公网IP呢?答案是可以的,具体的实现过程如下(以 frp 0.68.1 为例):

内网穿透后Nginx日志显示真实访客IP:frp + Proxy Protocol配置详解-工作应用、软件

1、修改客户端 frpc 的配置文件(本文假设文件是 /etc/frp/frpc.toml),在可道云系统所对应的代理配置中,添加一行:

transport.proxyProtocolVersion = "v2"

比如,如果之前的配置是这样的话:

[[proxies]]
name = "kodbox"
type = "tcp"
localIP = "127.0.0.1"
localPort = 12345
remotePort = 12345

那么添加后就是:

[[proxies]]
name = "kodbox"
type = "tcp"
localIP = "127.0.0.1"
localPort = 12345
remotePort = 12345
transport.proxyProtocolVersion = "v2"

随后保存退出,并且重启 frpc 服务(假如服务名是frpc的,那么就是执行 sudo systemctl restart frpc)。

2、编辑可道云系统相关的 nginx 文件,在可道云相关的“server”配置中,在 listen 端口号 后面加上“proxy_protocol”,并且加上下面配置:

set_real_ip_from 0.0.0.0/0;
real_ip_header proxy_protocol;
real_ip_recursive on;

举例,假设原来nginx相关的配置内容如下:

server
{
listen 12345 ssl;
http2 on;
server_name nas.kodbox.local;
index index.php index.html index.htm default.php default.htm default.html;
root /www/web/kodbox;
#后续配置忽略

修改后的配置就是

server
{
listen 12345 ssl proxy_protocol ;
http2 on;
server_name nas.kodbox.local;
index index.php index.html index.htm default.php default.htm default.html;
root /www/web/kodbox;

set_real_ip_from 0.0.0.0/0;
real_ip_header proxy_protocol;
real_ip_recursive on;
#后续配置忽略

修改后保存,并且重载nginx服务(执行 nginx -s reload)

相关说明:

1、frpc配置文件加上的“transport.proxyProtocolVersion = “v2” ”:这是 frp 客户端侧开启 Proxy Protocol 的开关,告诉 frp 在转发流量时,在最前面加上一段包含真实 IP 的”头信息”。

2、nginx配置文件内,listen 12345 ssl proxy_protocol 中“ proxy_protocol ”的作用:在指定端口(如本例的12345)上接收 HTTPS (如果不带ssl则是HTTP)连接,并且这个连接的前面会附带一个 Proxy Protocol 头部,请解析它来获取真实 IP。

3、set_real_ip_from 0.0.0.0/0 作用:指定哪些来源的连接是”可信任的代理服务器”。

4、real_ip_header proxy_protocol 作用:告诉 Nginx 从哪里获取真实 IP。

5、real_ip_recursive on 作用:处理多层代理的情况,从 IP 链中找出真正的原始 IP。

另外,需要注意的是,目前 QUIC 协议和 Proxy Protocol 不兼容,如果 nginx 启用了 HTTP3 和 QUIC 协议,在做以上的配置的时候,nginx 会报错,如果要使用 HTTP3 和 QUIC 协议,另加启用 Proxy Protocol 选项的,只能等待 nginx 后续的版本,看看会不会加上支持了。

以下是配置生效之后的效果截图:

内网穿透后Nginx日志显示真实访客IP:frp + Proxy Protocol配置详解-工作应用、软件1

下面是可道云后台的登录记录,可以看到,在做上述修改之前,可道云的“登录地址”中显示的地址一致都是“内网IP”(127.0.0.1),修改生效后,可以正常显示访问者的公网IP了。

内网穿透后Nginx日志显示真实访客IP:frp + Proxy Protocol配置详解-工作应用、软件2

2026年5月22日更新:后来在内网访问遇到了一些问题,详情可以查看《内网访问报错 broken header?Nginx + frp 双端口配置完美解决真实IP获取问题》

标签:

IP地址ubuntu可道云服务器
作者

shoutim

cntse.com站长

关注我
其他文章
Ubuntu版SQL Server安装
上一个

Ubuntu Server 24.04 下安装 Microsoft SQL Server 2025 的完整教程

nginx
下一个

内网访问报错 broken header?Nginx + frp 双端口配置完美解决真实IP获取问题

欢迎关注本站的微信公众号“IT人的工作生活”

近期热门文章

  • cbn中国广电 收集回来的中国广电网络(不分省区)IP地址段 778 次阅读
  • 使用AMD产品的电脑,CPU使用率偏高的解决方法一例 使用AMD产品的电脑,CPU使用率偏高的解决方法一例 294 次阅读
  • wsiaccount Windows系统分区用户目录里面的WsiAccount目录是什么来的?可以删除吗? 257 次阅读
  • 你们有留意到最近百度网盘增加了什么功能了吗? 你们有留意到最近百度网盘增加了什么功能了吗? 240 次阅读
  • ikuai 4.0 登录界面 爱快4.0软路由系统体验:界面大改、功能重铸,但有些注意事项 236 次阅读
  • 掌讯车机参数设置 掌讯5760B车机从1.73.7升级到1.80.3历险记 229 次阅读
  • Windows 11 24H2 下,启动 VMware Workstation内的虚拟机,提示错误 Windows 11 24H2 下,启动 VMware Workstation内的虚拟机,提示错误 196 次阅读
  • CPU性能模式 Windows 10/11 处理器性能提升模式的7个选项解读和选择建议 194 次阅读

按标签查找

BIOS (12) Bug (20) DHCP (14) DNS (14) IP地址 (12) Linux (89) Rocky Linux (39) ThinkPad (9) ubuntu (45) Windows (166) 交换机 (33) 修复 (12) 升级 (56) 华为 (14) 可道云 (12) 安装 (14) 安装程序 (9) 录像机 (10) 微信 (10) 戴尔 (9) 手机 (22) 操作系统 (79) 故障 (49) 数据库 (15) 无法启动 (16) 无线网络 (14) 服务器 (23) 杂记 (42) 注册表 (10) 活动目录 (16) 爱快 (23) 电脑 (10) 监控摄像头 (11) 硬盘 (22) 管理员 (29) 系统 (9) 苹果 (20) 虚拟机 (23) 补丁 (11) 路由器 (33) 软件 (56) 运营商 (18) 错误 (13) 驱动程序 (11) 魅族 (22)

关于 IT人的工作生活

本站——“网管人生-IT人的工作生活”,于2018年9月26日重新建立,前身为成立于2009年的IT应用网、IT应用频道,现主要发布站长个人对于IT行业相关的见解、各类经验的分享,让大家了解IT人在工作、生活中遇到的各种喜怒哀乐。站长是个IT人,但您在本站看到的,绝不止看到IT信息。当然,站长本人的经验和知识面有限,如果当中有不正确或不妥当的言辞,还望大家通过进入“站务公告”——“关于本站”,查看站长联系方式,与站长进行沟通交流。

站务信息

本站公告

关于本站的说明与站长联系方式

关于本站文章的版权声明

2025年的回顾与2026年的展望

微信公众号

站长微博

在本站查找

按月份查询

关注微信公众号

微信公众号-小
2026 年 11 月
一二三四五六日
 1
2345678
9101112131415
16171819202122
23242526272829
30 
« 10 月    
关于 IT人的工作生活 CNTSE.com © 2018-2026 站长:Eason四哥(shoutim) 版权声明 站长 CSDN 主页 粤ICP备18120877号-1 公安备案图标粤公网安备 44060502001951号