rustfs/rustfs · error · ClientError
Connect endpoint must be an HTTPS base URL without credentia
Error message
Connect endpoint must be an HTTPS base URL without credentials, query, or fragment
What it means
ClientError::Endpoint fires during ConnectClient construction when RUSTFS_CONNECT_ENDPOINT fails strict URL validation: it must be an HTTPS base URL with no embedded credentials, query string, or fragment. It is a configuration guard, not a network error.
Source
Thrown at rustfs/src/connect/client.rs:522
#[derive(Deserialize)]
struct ErrorDetail {
#[serde(default)]
reason: String,
}
async fn decode_reason(mut response: reqwest::Response) -> Option<String> {
let body = read_body(&mut response).await.ok()?;
serde_json::from_slice::<ErrorEnvelope>(&body)
.ok()?
.details
.into_iter()
.find_map(|detail| (!detail.reason.is_empty()).then_some(detail.reason))
}
#[derive(Debug, thiserror::Error)]
pub enum ClientError {
#[error("Connect endpoint must be an HTTPS base URL without credentials, query, or fragment")]
Endpoint,
#[error("Connect root CA configuration is invalid")]
RootCertificate,
#[error(
"Connect registration has a pending attempt for a different token; restore the original protected token configuration"
)]
PendingRegistration,
#[error(
"Connect credential rotation has an unfinished attempt for a different current certificate; inspect the local credential store"
)]
PendingRotation,
#[error("RustFS is not registered with Connect")]
NotRegistered,
#[error("the Connect device private key is missing; restore device.key before using the stored certificate")]
IdentityMissing,
#[error("the Connect device certificate has expired; call ConnectClient::reenroll with a fresh registration token")]
CredentialExpired,
#[error("the Connect device certificate is not yet valid; fix local clock skew or call ConnectClient::reenroll")]View on GitHub (pinned to 201c653dcd)
Solutions
- Set RUSTFS_CONNECT_ENDPOINT to a plain https://host[:port] base URL
- Remove any userinfo, query, or fragment components from the endpoint
- Ensure the URL scheme is https, not http
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at rustfs/src/connect/client.rs:522 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of rustfs/rustfs@201c653dcd (2026-08-23).
Data as JSON: /api/errors/65083fbfcddd2867.
Report an issue: GitHub.