目前只有 http 类型的代理或者启用了 https2http 或 https2https 插件的代理支持这一功能。
可以通过 HTTP/HTTPS 请求 header 中的 X-Forwarded-For 来获取用户真实 IP,默认启用。
frp 支持通过 Proxy Protocol 协议来传递经过 frp 代理的请求的真实 IP,此功能支持所有以 TCP 为底层协议的类型,不支持 UDP。
Proxy Protocol 功能启用后,frpc 在和本地服务建立连接后,会先发送一段 Proxy Protocol 的协议内容给本地服务,本地服务通过解析这一内容可以获得访问用户的真实 IP。所以不仅仅是 HTTP 服务,任何的 TCP 服务,只要支持这一协议,都可以获得用户的真实 IP 地址。
需要注意的是,在代理配置中如果要启用此功能,需要本地的服务能够支持 Proxy Protocol 这一协议,目前 nginx 和 haproxy 都能够很好的支持。
这里以 HTTPS 类型为例:
# frpc.toml [[proxies]] name = "web" type = "https" localPort = 443 customDomains = ["test.yourdomain.com"] # 目前支持 v1 和 v2 两个版本的 proxy protocol 协议。 transport.proxyProtocolVersion = "v2"
只需要在代理配置中增加一行 transport.proxyProtocolVersion = "v2" 即可开启此功能。
本地的 HTTPS 服务可以通过在 nginx 的配置中启用 Proxy Protocol 的解析并将结果设置在 X-Real-IP 这个 Header 中就可以在自己的 Web 服务中通过 X-Real-IP 获取到用户的真实 IP。
相关知识
打造健康IP的超级符号!南方健康运营操盘手分享健康IP爆款法则
健身IP全域运营:打造全新的健康管理生态(健身ip全域运营是什么)
健康码哪里获取
IP x 健康美容
从“信息差”到“生活化”,健康类品牌在IP内容中找增量
巨星传奇:积极推动明星IP业务及新零售产品在海外市场的发展
“自然健康新零食”邂逅国粹京剧IP 年货礼送良品更大、更潮、更健康
还在犹豫装不装榻榻米?这样设计,真的很实用
阿瑞斯病毒警棍图纸获取方法 获得警棍装备要点
科普“接地气”,华山运动医学科普IP“神奇动动哥”重磅归来
网址: 获取用户真实 IP https://m.trfsz.com/newsview330913.html