quarkusio/quarkus · error · IllegalStateException
Proxy configuration name `none` has a special meaning and co
Error message
Proxy configuration name `none` has a special meaning and configuring it via quarkus.proxy."none".* options is not possible. Remove all quarkus.proxy."none".* keys from your configuration.
What it means
The name 'none' is reserved by the Quarkus proxy registry to mean 'no proxy'. During startup, ProxyConfigurationRecorder.init() rejects any user-defined proxy configuration named 'none' with an IllegalStateException, because it would conflict with that sentinel meaning.
Source
Thrown at extensions/proxy-registry/runtime/src/main/java/io/quarkus/proxy/runtime/ProxyConfigurationRecorder.java:34
@Recorder
public class ProxyConfigurationRecorder {
private final RuntimeValue<ProxyConfig> runtimeConfig;
public ProxyConfigurationRecorder(RuntimeValue<ProxyConfig> runtimeConfig) {
this.runtimeConfig = runtimeConfig;
}
public Supplier<ProxyConfigurationRegistry> init() {
ProxyConfig proxyConfig = runtimeConfig.getValue();
Optional<ProxyConfiguration> defaultConfig = build("quarkus.proxy.", proxyConfig.defaultProxyConfig());
Map<String, ProxyConfiguration> namedConfigs = new HashMap<>();
for (Map.Entry<String, ProxyConfig.NamedProxyConfig> entry : proxyConfig.namedProxyConfigs().entrySet()) {
String name = entry.getKey();
if (ProxyConfigurationRegistry.NONE.equals(name)) {
throw new IllegalStateException("Proxy configuration name `none` has a special meaning and configuring it"
+ " via quarkus.proxy.\"none\".* options is not possible. Remove all quarkus.proxy.\"none\".* keys"
+ " from your configuration.");
}
Optional<ProxyConfiguration> namedConfig = build("quarkus.proxy.\"" + name + "\".", entry.getValue());
if (namedConfig.isPresent()) {
namedConfigs.put(name, namedConfig.get());
}
}
ProxyConfigurationRegistry registry = new ProxyConfigurationRegistryImpl(namedConfigs, defaultConfig);
return new Supplier<ProxyConfigurationRegistry>() {
@Override
public ProxyConfigurationRegistry get() {
return registry;
}
};View on GitHub (pinned to e1c734241f)
Solutions
- Remove all quarkus.proxy."none".* keys from application.properties (and env/system properties)
- Rename the configuration to a non-reserved name, e.g. quarkus.proxy."myproxy".*
- To disable proxying for certain hosts, use the non-proxy-hosts setting of an existing proxy config instead
Example fix
// before quarkus.proxy."none".host=proxy.example.com quarkus.proxy."none".port=8080 // after quarkus.proxy."corporate".host=proxy.example.com quarkus.proxy."corporate".port=8080
Defensive patterns
Strategy: validation
Validate before calling
// config audit before startup
Set<String> names = config.getPropertyNames()
.map(p -> p.startsWith("quarkus.proxy.") ? p : null)
.filter(Objects::nonNull)
.collect(java.util.stream.Collectors.toSet());
if (names.stream().anyMatch(p -> p.startsWith("quarkus.proxy.\"none\".") || p.startsWith("quarkus.proxy.none."))) {
throw new IllegalArgumentException("Reserved proxy name 'none' must not be configured");
} Type guard
static boolean isReservedProxyName(String name) {
return ProxyConfigurationRegistry.NONE.equals(name);
} Try / catch
try {
application.start(); // or trigger recorder
} catch (IllegalStateException e) {
if (e.getMessage() != null && e.getMessage().contains("`none`")) {
throw new IllegalStateException("Remove quarkus.proxy.\"none\".* keys from configuration", e);
}
throw e;
} Prevention
- Never name a proxy config 'none'
- Grep config files for quarkus.proxy."none" before builds
- Check env vars QUARKUS_PROXY__NONE__* in CI/containers
- Rename intentional 'none' blocks to real names
When it happens
Trigger: Defining configuration keys like quarkus.proxy."none".host=... in application.properties (or env vars such as QUARKUS_PROXY__NONE__HOST), so a named proxy config keyed 'none' exists at startup.
Common situations: Copy-pasting proxy config blocks and leaving the name 'none'; assuming 'none' disables the proxy when it is actually reserved; environment-specific configs adding a none entry.
Related errors
- If ${prefix}.host is not set, then all of [${badValues}] mus
- If ${prefix}.host is set, ${prefix}.port must also be set
- Unable to find top command. Ensure you have a @CommandDefini
- Persistence unit '<persistenceUnitName>' was configured to r
- Failed to create Keycloak Admin client SSLContext
AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05).
Data as JSON: /api/errors/9b9139e0adfd4307.
Report an issue: GitHub.