fatedier/frp · error
health check path should not be empty
Error message
health check path should not be empty
What it means
Error "health check path should not be empty" thrown in fatedier/frp.
Source
Thrown at pkg/config/v1/validation/proxy.go:55
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)
}
}
return nil
}
func validateProxyBaseConfigForServer(c *v1.ProxyBaseConfig) error {
if err := ValidateAnnotations(c.Annotations); err != nil {
return err
}
return nil
}
View on GitHub (pinned to 6c8a8d0a97)
Solutions
- Set healthCheck.path (for example '/') when healthCheck.type is 'http'.
- Change healthCheck.type to 'tcp' if no HTTP endpoint is available for the check.
When it happens
Trigger: Raised by validateProxyBaseConfigForClient in pkg/config/v1/validation/proxy.go when healthCheck.type is "http" but healthCheck.path is empty.
Common situations: An HTTP health check is configured without a path. Fix by setting healthCheck.path (e.g. "/healthz") or switching healthCheck.type to "tcp".
AI-assisted analysis of fatedier/frp@6c8a8d0a97 (2026-08-15).
Data as JSON: /api/errors/0ba060d795e088c2.
Report an issue: GitHub.