卿言轻语

  • 媒体中心
  • 网络存储
  • 文章分类
    • 技术
    • 摄影
    • 杂谈
  1. 首页
  2. 技术
  3. 正文

frp内网穿透获取用户真实 IP

2020年12月14日 5202点热度 14人点赞 0条评论

frp是一款内网穿透神器,但往往是通过 frp穿透获取到的IP都是 frp客服端内网IP,通过查看文档 frp 支持通过 Proxy Protocol 协议来传递经过 frp 代理的请求的真实 IP,今天就介绍一下frp如何向 nginx 传递用户真实 IP

一、frp启用Proxy Protocol 功能


找到frpc配置文件,只需要在代理配置中增加一行 proxy_protocol_version = v2即可开启此功能。
这里以 https 类型为例:

# frpc.ini
[web]
type = https
local_port = 443
custom_domains = test.yourdomain.com
# 目前支持 v1 和 v2 两个版本的 proxy protocol 协议。
proxy_protocol_version = v2

我这里frp客服端是集成在Openwrt里的,只需配置Proxy-Protocol 版本时选择到v2即可。

二、 配置nginx

在listen段添加 proxy_protocol,然后配置 real IP header 为 proxy_protocol,例如:

server {
listen 80 proxy_protocol;
listen 443 ssl http2 proxy_protocol;
real_ip_header proxy_protocol;
real_ip_recursive on;
set_real_ip_from 192.168.2.1;

其中set_real_ip_from 的参数为frp客服端的内网IP。

保存 Nginx 配置后,重启 Nginx,就可以获取用户真实 IP了。
重启 Nginx命令:service nginx restart

三、坑在最后

对于Nginx来说listen段中的proxy_protocol配置是针对监听端口生效的,所以虽然是在server的listen段中配置,实际上对于端口来说算是全局配置。所以对于同一个Nginx上如果有部分server需要代理协议,部分server不需要代理协议,他们所监听的端口一定要分开。

标签: FRP nginx
最后更新:2020年12月14日

信仰飘扬

行尽天涯 静默山水间

点赞
< 上一篇
下一篇 >

信仰飘扬

行尽天涯 静默山水间

搜索
最新 热点 随机
最新 热点 随机
使用Macast搭建DLNA 投屏接收端 配置路由器IPv6地址访问局域网终端IPv4服务 frp内网穿透获取用户真实 IP CentOS 7 升级OpenSSL 下载GitHub仓库中的指定文件夹内容 搭建订阅转换API服务器
使用Macast搭建DLNA 投屏接收端
神木垒 FRP内网穿透一键脚本 大坪乡荷花 frp内网穿透获取用户真实 IP 国庆随拍 在CentOS 7下安装Jellyfin
标签聚合
SSL Openwrt 旅行 nginx FRP 人像 网站 CentOS
书签
  • 密码管理
  • 数据网盘
  • 电影音乐
  • 订阅转换

COPYRIGHT © 2021 qingsay.com. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang