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

  1. Set localPort to a valid port number in the range 0..65535.
  2. 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.