fatedier/frp · error
localPort: %v
Error message
localPort: %v
What it means
Error "localPort: %v" thrown in fatedier/frp.
Source
Thrown at pkg/config/v1/validation/proxy.go:45
func validateProxyBaseConfigForClient(c *v1.ProxyBaseConfig) error {
if c.Name == "" {
return errors.New("name should not be empty")
}
if err := ValidateAnnotations(c.Annotations); err != nil {
return err
}
if !slices.Contains([]string{"", "v1", "v2"}, c.Transport.ProxyProtocolVersion) {
return fmt.Errorf("not support proxy protocol version: %s", c.Transport.ProxyProtocolVersion)
}
if !slices.Contains([]string{"client", "server"}, c.Transport.BandwidthLimitMode) {
return fmt.Errorf("bandwidth limit mode should be client or server")
}
if c.Plugin.Type == "" {
if err := ValidatePort(c.LocalPort, "localPort"); err != nil {
return fmt.Errorf("localPort: %v", err)
}
}
if !slices.Contains([]string{"", "tcp", "http"}, c.HealthCheck.Type) {
return fmt.Errorf("not support health check type: %s", c.HealthCheck.Type)
}
if c.HealthCheck.Type != "" {
if c.HealthCheck.Type == "http" &&
c.HealthCheck.Path == "" {
return fmt.Errorf("health check path should not be empty")
}
}
if c.Plugin.Type != "" {
if err := ValidateClientPluginOptions(c.Plugin.ClientPluginOptions); err != nil {
return fmt.Errorf("plugin %s: %v", c.Plugin.Type, err)
}
}View on GitHub (pinned to 6c8a8d0a97)
Solutions
- Set localPort to a valid port number in the range 0..65535.
- Check for typing errors in the localPort value of the proxy configuration.
When it happens
Trigger: Raised by validateProxyBaseConfigForClient in pkg/config/v1/validation/proxy.go when no plugin is configured and localPort fails ValidatePort (outside the range 0..65535).
Common situations: localPort is negative, larger than 65535, or otherwise invalid for a proxy without a plugin. Fix by setting localPort to a value in 0..65535, or configure a plugin if no local port is needed.
AI-assisted analysis of fatedier/frp@6c8a8d0a97 (2026-08-15).
Data as JSON: /api/errors/f694255509ebbacd.
Report an issue: GitHub.