mirror of
https://github.com/fatedier/frp.git
synced 2026-05-15 16:15:49 -06:00
[GH-ISSUE #5123] supporting ; delimiters for legacy http URIs #4009
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#4009
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 @kzkaram on GitHub (Jan 12, 2026).
Original GitHub issue: https://github.com/fatedier/frp/issues/5123
Describe the feature request
In trying to use the http type to expose an older web server I encountered an issue when eventually browsing to that site via an nginx proxy/frp tunnel set up, whereby the fisrt age of the site was reachable but hen navigating to sub pages did not work. Eventually found it was due to the navigation URI's using ; delimiters rather than say &. I am a total noob at all of these things so excuse my guesswork but I think might be due to what happens when you use the http method and perhaps how this is parsed. If I use tcp method it all works just fine but then I can't define custom sites in frpc. I see this as a feature request rather than bug as it is more to support legacy sites than something intrinsically wrong
Describe alternatives you've considered
No response
Affected area
@fatedier commented on GitHub (Jan 13, 2026):
In HTTP/HTTPS proxy mode, frp relies on Go’s standard URL parsing and does not support using ; as a query parameter separator. We don’t plan to add legacy ;-delimiter support.
As a workaround, please use type = tcp (raw TCP) or update/rewrite the URLs to use & / proper encoding.
@kzkaram commented on GitHub (Jan 13, 2026):
Yes I did find that type = tcp works great, but then I have to specify port numbers to separate different client sites rather than have ability to specify connection by custom site name, or is there a way to do that via the tcp method?
@fatedier commented on GitHub (Jan 13, 2026):
You could consider deploying additional nginx-like proxy to handle these parameters.
@kzkaram commented on GitHub (Jan 14, 2026):
Thank you for your responses. I was indeed already using nginx to act as an https proxy to frps. I also did consider trying to do something in nginx to change the ; to & before passing to frps. It was not quite that simple because there were other issues other than the ; which did not translate for some reason, but in the end with the help of AI I did actually manage to get an nginx configuration which so far appears to do the job :-)