mirror of
https://github.com/fatedier/frp.git
synced 2026-05-15 08:05:49 -06:00
[GH-ISSUE #4705] [Feature Request] Support Incoming PROXY Protocol in frpc #3714
Labels
No labels
In Progress
WIP
WaitingForInfo
bug
doc
duplicate
easy
enhancement
future
help wanted
invalid
lifecycle/stale
need-issue-template
need-usage-help
no plan
proposal
pull-request
question
todo
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/frp#3714
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @MahdiAkrami01 on GitHub (Mar 11, 2025).
Original GitHub issue: https://github.com/fatedier/frp/issues/4705
Describe the feature request
Hi
I’m using
frpcbehindHAProxy, which sendsPROXY protocol v2headers to pass client info. Currently,frpcdoesn’t seem to support accepting incomingPROXYheaders on its listening ports.This causes connection failures when
HAProxyusessend-proxy-v2.Could you please consider adding support for
frpcto accept incomingPROXYprotocol (v1/v2)? Something like anacceptProxyProtocol = "v2"option in[[proxies]]would be amazing. It’d help log client IPs and work better with upstream proxies likeHAProxy.Thanks for your great work - happy to help test if needed
Flow
Client ---> HAProxy ---(Add PROXY v2)---> frpc ---(Log then remove PROXY v2)---> Local app
haproxy
frpc
proxies
name = "server-s01"
type = "tcp"
localIP = "::"
localPort = 8443
remotePort = 8443
transport.proxyProtocolVersion = ""
acceptProxyProtocol = "v2" <------ Not currently supported
Describe alternatives you've considered
No response
Affected area
@fatedier commented on GitHub (Mar 12, 2025):
Why don't you just pass the proxy protocol information to your local app?
@MahdiAkrami01 commented on GitHub (Mar 12, 2025):
I’m using multiple apps, and not all of them support proxy protocol information. It’d be great if there could be a workaround or additional flexibility for cases like mine where app support varies.