Skip to content
OpenClaw 不踩坑恶意 Skills ,企业需 Skills Registry:Nacos 3.2 发布Know more

System Parameters

This page summarizes common Nacos 3.2.x server-side parameters. The main source is ${nacos.home}/conf/application.properties in the Nacos distribution, with extra notes from current configuration code.

For production deployments, read Deployment Best Practices first, then use this page to confirm specific properties.

Where to Configure

The main Nacos Server configuration file is ${nacos.home}/conf/application.properties. The startup script also adds:

Terminal window
--spring.config.additional-location=file:${BASE_DIR}/conf/

The same property can come from the configuration file, JVM -D options, or the startup script. In general, JVM options have higher priority than the configuration file. Properties marked with (-D) are usually set through the startup script or JVM options.

Basic Startup

PropertyDescriptionDefault
nacos.home(-D)Nacos home directory.installation directory
nacos.standalone(-D)Whether to start in standalone mode. startup.sh -m standalone sets this property.false
nacos.functionMode(-D)Function mode. all starts all modules. The startup script also supports config, naming, microservice, and ai.all
nacos.deployment.type(-D)Deployment type. The startup script uses merged by default.merged
nacos.server.main.portMain Nacos Server port.8848
nacos.server.contextPathHTTP context path of Nacos Server./nacos
spring.config.additional-locationExtra configuration file locations. Separate multiple locations with commas.${nacos.home}/conf/
server.error.include-messageWhether Spring Boot error responses include the message field.ALWAYS
server.max-http-request-header-sizeHTTP request header size limit set by the startup script.524288

Network and Node Address

PropertyDescriptionDefault
nacos.server.ip(-D)Explicit local server IP. It has higher priority than auto detection and nacos.inetutils.ip-address.empty
nacos.inetutils.ip-addressExplicit local IP, commonly used in multi-NIC or container environments.empty
nacos.inetutils.prefer-hostname-over-ipPrefer hostname as node address. If enabled, cluster.conf should also use resolvable hostnames.false
nacos.remote.grpc.listen.ip(-D)Listen IP for gRPC ports. If unset, gRPC usually listens on all interfaces.empty

Database

Nacos supports Derby, MySQL, PostgreSQL, Oracle, and custom database types through datasource dialect plugins. For setup, community plugins, and Oracle version requirements, see Datasource Plugin.

PropertyDescriptionDefault
spring.sql.init.platformDatabase type. Supported values include derby, mysql, postgresql, oracle, or a custom dialect plugin type. oracle requires Oracle 12c or later.empty
db.numNumber of database URLs.0
db.url.0, db.url.1JDBC URLs. Use indexes for multiple URLs.empty
db.user, db.passwordShared database credentials for all URLs.empty
db.user.0, db.password.0Credentials for a specific indexed URL. Use them when different URLs need different credentials.empty
db.pool.config.*HikariCP properties, such as db.pool.config.connectionTimeout.HikariCP defaults
nacos.plugin.datasource.log.enabledWhether to print datasource plugin logs.true

Web and Console

Nacos 3.x separates the Server and Console ports by default. Server APIs use 8848 by default, and the new Console uses 8080. See Console Manual for usage.

PropertyDescriptionDefault
nacos.console.portConsole port.8080
nacos.console.contextPathConsole context path.empty
nacos.console.remote.server.context-pathServer context path used by an independent Console deployment./nacos
nacos.console.ui.enabledWhether to enable Console UI.true
nacos.console.ui.defaultDefault Console UI. Valid values are next and legacy.next
spring.servlet.multipart.max-file-sizeSingle upload file size limit for Console, such as Skill zip files.10MB
spring.servlet.multipart.max-request-sizeTotal upload request size limit for Console.10MB
server.servlet.encoding.charsetServlet encoding.UTF-8

Console CORS

PropertyDescriptionDefault
nacos.console.cors.allow-credentialsWhether credentials such as cookies, Authorization headers, and TLS client certificates are allowed.true
nacos.console.cors.allowed-headersAllowed headers. Empty means all headers are allowed.empty
nacos.console.cors.max-ageCORS preflight cache time in seconds.18000
nacos.console.cors.allowed-methodsAllowed HTTP methods. Empty means all methods are allowed.empty
nacos.console.cors.allowed-originsAllowed origins. Empty means all origin patterns are allowed.empty

Access Log and Metrics

For metrics exposure and alerting suggestions, see Monitoring Manual.

PropertyDescriptionDefault
server.tomcat.accesslog.enabledWhether to enable access logs.true
server.tomcat.accesslog.max-daysAccess log retention days.30
server.tomcat.accesslog.patternAccess log pattern.distribution default
server.tomcat.basedirTomcat working directory and access log base directory.file:.
management.endpoints.web.exposure.includeExposed Actuator endpoints. Add prometheus to expose Prometheus metrics.empty
management.metrics.export.elastic.enabledWhether to enable the Elastic metrics exporter.false
management.metrics.export.influx.enabledWhether to enable the Influx metrics exporter.false
nacos.core.monitor.topn.enabledWhether to enable TopN metrics.true
nacos.core.monitor.topn.countTopN item count.10
nacos.core.monitor.topn.internalMsTopN collection interval in milliseconds.60000

Cluster Member Discovery

PropertyDescriptionDefault
nacos.member.list(-D)Cluster member list. The startup script -c option sets this JVM property. It can be used when cluster.conf does not exist.empty
nacos.member-change-event.queue.sizeQueue size for cluster member change events.128
nacos.core.member.lookup.typeMember lookup type. Valid values are file and address-server.file
nacos.core.address-server.retryRetry count when initializing from the address server.5
address.server.domainAddress server domain.jmenv.tbsite.net
address.server.portAddress server port.8080
address.server.urlAddress server request path./nacos/serverlist
nacos.core.member.meta.siteNode site metadata.empty
nacos.core.member.meta.adweightNode weight metadata.empty
nacos.core.member.meta.weightNode weight metadata.empty

gRPC

PropertyDescriptionDefault
nacos.remote.server.grpc.sdk.max-inbound-message-sizeMaximum inbound SDK gRPC request size in bytes.10485760
nacos.remote.server.grpc.sdk.keep-alive-timeSDK gRPC keepalive interval in milliseconds.7200000
nacos.remote.server.grpc.sdk.keep-alive-timeoutSDK gRPC keepalive timeout in milliseconds.20000
nacos.remote.server.grpc.sdk.permit-keep-alive-timeMinimum keepalive interval clients are permitted to configure, in milliseconds.300000
nacos.remote.server.grpc.cluster.max-inbound-message-sizeMaximum inbound cluster gRPC request size in bytes.10485760
nacos.remote.server.grpc.cluster.keep-alive-timeCluster gRPC keepalive interval in milliseconds.7200000
nacos.remote.server.grpc.cluster.keep-alive-timeoutCluster gRPC keepalive timeout in milliseconds.20000
nacos.remote.server.grpc.cluster.permit-keep-alive-timeMinimum keepalive interval for cluster gRPC, in milliseconds.300000
remote.executor.times.of.processors(-D)Multiplier of CPU cores for the server request executor size.16
remote.executor.queue.size(-D)Queue size of the server request executor.16384

Distro and Raft

Distro and Raft are internal consistency protocol parameters. Do not tune them in production unless you have diagnosed a protocol bottleneck or have maintainer guidance.

Distro

PropertyDescriptionDefault
nacos.core.protocol.distro.data.sync.delayMsData sync delay in milliseconds. Updates for the same data key are merged within the delay window.1000
nacos.core.protocol.distro.data.sync.timeoutMsTimeout for one data sync in milliseconds.3000
nacos.core.protocol.distro.data.sync.retryDelayMsRetry delay after sync failure in milliseconds.3000
nacos.core.protocol.distro.data.verify.intervalMsVerification interval for synced data in milliseconds.5000
nacos.core.protocol.distro.data.verify.timeoutMsTimeout for one data verification in milliseconds.3000
nacos.core.protocol.distro.data.load.retryDelayMsRetry delay after snapshot load failure during startup in milliseconds.30000

Raft

Raft properties use nacos.core.protocol.raft.data.*. The data segment is the current RaftConfig map field and should not be omitted.

PropertyDescriptionDefault
nacos.core.protocol.raft.data.election_timeout_msElection timeout in milliseconds.5000
nacos.core.protocol.raft.data.snapshot_interval_secsSnapshot interval in seconds.1800
nacos.core.protocol.raft.data.core_thread_numInternal Raft worker thread count.8
nacos.core.protocol.raft.data.cli_service_thread_numRaft business request thread count.4
nacos.core.protocol.raft.data.read_index_typeLinear read strategy.ReadOnlySafe
nacos.core.protocol.raft.data.rpc_request_timeout_msRaft RPC request timeout in milliseconds.5000
nacos.core.protocol.raft.data.max_byte_count_per_rpcMaximum bytes for one snapshot copy RPC.131072
nacos.core.protocol.raft.data.max_entries_sizeMaximum log entries sent from leader to follower in one batch.1024
nacos.core.protocol.raft.data.max_body_sizeMaximum body size for sending logs.524288
nacos.core.protocol.raft.data.max_append_buffer_sizeAppend buffer size for logs.262144
nacos.core.protocol.raft.data.max_election_delay_msMaximum random election delay in milliseconds.1000
nacos.core.protocol.raft.strict-modeStrict startup validation. If enabled, readiness fails when Raft cannot elect a leader.false

Config

For daily usage, see Config Center Manual.

PropertyDescriptionDefault
nacos.config.push.maxRetryTimeMaximum retry count for config change push.50
nacos.config.retention.daysConfig history retention days.30
nacos.config.search.max_capacityQueue capacity for content search tasks.4
nacos.config.search.max_threadThread count limit for content search.2
nacos.config.search.wait_timeoutContent search wait timeout in milliseconds.8000
nacos.config.derby.ops.enabledWhether Derby ops APIs are enabled when Derby is used.false
nacos.persistence.sql.derby.limit.enabledWhether SQL execution is limited when Derby is used.true
nacos.config.cache.typeConfig cache implementation type.nacos
nacos.config.history.clear.nameConfig history cleaner implementation name.nacos

Naming

For daily usage, see Naming Manual.

PropertyDescriptionDefault
nacos.naming.data.warmupWhether to wait for naming data warmup during startup. Readiness may fail until warmup is complete.false
nacos.naming.expireInstanceWhether expired ephemeral instances are removed automatically.true
nacos.naming.empty-service.auto-cleanWhether empty services are cleaned automatically.true
nacos.naming.empty-service.clean.initial-delay-msInitial delay for empty service cleanup in milliseconds.50000
nacos.naming.empty-service.clean.period-time-msEmpty service cleanup period in milliseconds.30000
nacos.naming.clean.empty-service.intervalEmpty service cleanup interval in milliseconds.60000
nacos.naming.clean.empty-service.expired-timeEmpty service expiration time in milliseconds.60000
nacos.naming.clean.expired-metadata.intervalExpired metadata cleanup interval in milliseconds.5000
nacos.naming.clean.expired-metadata.expired-timeExpired metadata retention time in milliseconds.60000
nacos.naming.client.expired.timeEphemeral client data expiration time in milliseconds.180000
nacos.naming.push.pushTaskDelayNaming push delay in milliseconds.500
nacos.naming.push.pushTaskTimeoutNaming push execution timeout in milliseconds.5000
nacos.naming.push.pushTaskRetryDelayRetry delay after naming push failure in milliseconds.1000
nacos.naming.service.metadata.lengthTotal service metadata length limit.1024

Parameter Validation

PropertyDescriptionDefault
nacos.core.param.check.enabledWhether server-side parameter validation is enabled. See Parameter Validation.true
nacos.core.param.check.checkerParameter checker name. The built-in checker is used by default.default

Auth and Visibility

For auth setup, read Authorization and OIDC/OAuth2 Authentication. For visibility, see Visibility Plugin.

PropertyDescriptionDefault
nacos.core.auth.system.typeAuth plugin type. The default implementation is nacos. LDAP, OIDC/OAuth2, and custom plugins can also be used.nacos
nacos.core.auth.enabledWhether SDK/gRPC request authentication is enabled.false
nacos.core.auth.admin.enabledWhether /v3/admin/* Admin API authentication is enabled.true
nacos.core.auth.console.enabledWhether /v3/console/* Console API and login authentication are enabled.true
nacos.core.auth.caching.enabledWhether auth information is cached. Permission updates may have a short delay when enabled.true
nacos.core.auth.server.identity.keyServer-to-server identity key. Required when auth is enabled.empty
nacos.core.auth.server.identity.valueServer-to-server identity value. Required when auth is enabled.empty
nacos.security.ignore.urlsAuth ignored URLs. This is a legacy compatibility property and may be deprecated in the future.distribution default
nacos.core.auth.plugin.nacos.token.cache.enableWhether the default auth plugin caches tokens.false
nacos.core.auth.plugin.nacos.token.expire.secondsToken expiration time for the default auth plugin, in seconds.18000
nacos.core.auth.plugin.nacos.token.secret.keyJWT signing secret for the default auth plugin. Use a Base64 string from an original secret of at least 32 characters.empty
nacos.core.auth.nacos.anonymous.ai.enabledWhether anonymous AI resource reads are allowed. Currently mainly applies to Skill and AgentSpec.false
nacos.plugin.visibility.enabledWhether the visibility plugin is enabled.true
nacos.plugin.visibility.typeVisibility plugin type. The default nacos implementation reuses default auth plugin user information.nacos

LDAP, OIDC, and OAuth2

LDAP is maintained as an optional plugin starting from Nacos 3.2. OIDC/OAuth2 is also plugin based. Before using these properties, confirm that the corresponding plugin is included in the distribution or placed in the plugin directory.

PropertyDescriptionDefault
nacos.core.auth.ldap.urlLDAP server URL.empty
nacos.core.auth.ldap.basedcLDAP base DN.empty
nacos.core.auth.ldap.userDnLDAP admin user DN.empty
nacos.core.auth.ldap.passwordLDAP admin password.empty
nacos.core.auth.ldap.userdnLogin user DN template. {0} is replaced with the username.empty
nacos.core.auth.ldap.filter.prefixUser filter prefix.uid
nacos.core.auth.ldap.case.sensitiveWhether usernames are case-sensitive.true
nacos.core.auth.ldap.ignore.partial.result.exceptionWhether LDAP partial result exceptions are ignored.false
nacos.core.auth.plugin.oidc.issuer-uriOIDC issuer URI for auto-discovery.empty
nacos.core.auth.plugin.oidc.client-idOIDC client id.empty
nacos.core.auth.plugin.oidc.client-secretOIDC client secret.empty
nacos.core.auth.plugin.oidc.scopeOIDC scopes.openid
nacos.core.auth.plugin.oidc.token-validation-methodToken validation method. Valid values include jwt and introspection.empty
nacos.core.auth.plugin.oidc.jwks-cache-ttl-secondsJWKS cache TTL in seconds.empty
nacos.core.auth.plugin.oidc.username-claimUsername claim.sub
nacos.core.auth.plugin.oidc.roles-claimRoles claim.empty
nacos.core.auth.plugin.oidc.admin-roleAdmin role name.empty
nacos.core.auth.plugin.oidc.auto-create-userWhether to auto-create users on first login.true
nacos.core.auth.plugin.oidc.authorization-endpointExternal authorization endpoint.empty
nacos.core.auth.plugin.authorization-timeout-msExternal authorization request timeout in milliseconds.empty
nacos.core.auth.plugin.oidc.strict-nonce-validationWhether strict nonce validation is enforced.false
nacos.core.auth.plugin.oidc.strict-audience-validationWhether strict audience validation is enforced.false

Plugin Parameters

For the plugin system, see Plugin Overview.

PropertyDescriptionDefault
nacos.custom.environment.enabledWhether the custom environment plugin is enabled.false
nacos.plugin.control.manager.typeTraffic control plugin type. Set to nacos to use the default implementation.empty
nacos.plugin.control.rule.local.basedirLocal directory for traffic control rules.${nacos.home}
nacos.plugin.control.rule.external.storageExternal rule storage type. Requires a custom implementation.empty
nacos.core.config.plugin.webhook.enabledWhether the config change webhook plugin is enabled.false
nacos.core.config.plugin.webhook.urlWebhook URL.empty
nacos.core.config.plugin.webhook.contentMaxCapacityMaximum webhook payload size in bytes.102400
nacos.core.config.plugin.whitelist.enabledWhether the config import suffix whitelist plugin is enabled.false
nacos.core.config.plugin.whitelist.suffixsAllowed config import file suffixes.xml,text,properties,yaml,html
nacos.core.config.plugin.fileformatcheck.enabledWhether the imported file format check plugin is enabled.false

Istio and Prometheus Service Discovery

These are long-standing ecology integration capabilities. See Ecology Overview.

PropertyDescriptionDefault
nacos.extension.naming.istio.enabledWhether to load the Istio module.false
nacos.istio.mcp.server.enabledWhether to enable the Istio MCP server.false
nacos.istio.mcp.server.portIstio MCP server port.18848
nacos.istio.server.fullWhether to use full push.true
nacos.istio.debounce.maxMaximum debounce wait time for Istio push in milliseconds.5000
nacos.istio.debounce.afterDebounce wait time for Istio push in milliseconds.100
nacos.istio.domain.suffixIstio domain suffix.nacos
nacos.prometheus.metrics.enabledWhether to enable the Prometheus service discovery helper API.false

AI Registry

For usage, see AI Registry Overview. The properties below control module switches, protocol adapters, importers, and publish pipelines.

PropertyDescriptionDefault
nacos.extension.ai.enabledWhether the AI module is enabled. The AI module requires both config and naming modules.true
nacos.ai.mcp.registry.enabledWhether the official MCP Registry protocol adapter is enabled. When enabled, it exposes an independent port through nacos.ai.registry.port.false
nacos.ai.skill.registry.enabledWhether the Skill Registry protocol adapter is enabled. When enabled, it exposes an independent port through nacos.ai.registry.port.false
nacos.ai.registry.portAI Registry protocol adapter port.9080
nacos.ai.mcp.registry.portLegacy property name. Deprecated. Use nacos.ai.registry.port instead.9080
nacos.plugin.ai-pipeline.enabledWhether AI publish pipeline is enabled. If unset, it does not actively disable the pipeline, but no pipeline runs when type is empty.empty
nacos.plugin.ai-pipeline.typePipeline node type, such as skill-scanner. Separate multiple types with commas.empty
nacos.plugin.ai-pipeline.skill-scanner.enabledEnablement property passed to the built-in skill-scanner node.empty
nacos.plugin.ai-pipeline.skill-scanner.commandExternal Skill scanner command path.empty
nacos.ai.skill.auto-publish-after-review.enabledWhether Skill versions are automatically published after approval.false
nacos.ai.resource.import.enabledWhether explicitly configured AI resource import sources are enabled.false
nacos.ai.resource.import.legacy-mcp-api-enabledWhether deprecated MCP import APIs are temporarily reopened.false
nacos.ai.resource.import.allow-user-urlWhether deprecated MCP import APIs can fetch user-provided URLs after being reopened.false
nacos.plugin.ai.importer.mcp.official.enabledWhether the built-in official MCP Registry import source is enabled.true
nacos.plugin.ai.importer.skills.well-known.enabledWhether the Skill well-known import source is enabled.false
nacos.plugin.ai.importer.skills.well-known.urlSkill well-known registry root URL.empty
nacos.plugin.ai.importer.skills.skills-sh.enabledWhether the skills.sh import source is enabled.true
nacos.plugin.ai.importer.<preset>.allow-httpWhether non-HTTPS endpoints are allowed for a source. Enable only in controlled environments.false
nacos.plugin.ai.importer.<preset>.allow-private-networkWhether private-network or localhost endpoints are allowed for a source. Enable only in controlled environments.false

Experimental Features

Experimental features do not promise long-term stable behavior. Read Experimental Features Overview before using them.

PropertyDescriptionDefault
nacos.k8s.sync.enabledWhether the built-in K8s sync experimental capability is enabled.false
nacos.k8s.sync.outsideClusterWhether the Kubernetes API Server is accessed from outside the cluster.false
nacos.k8s.sync.kubeConfigKubeconfig path used for access outside the cluster./.kube/config

Compatibility and Migration

These properties are used for upgrades, migration, or legacy compatibility. They are not the recommended model for new systems. See Compatibility and Deprecation for more context.

PropertyDescriptionDefault
nacos.core.api.compatibility.client.enabledWhether client API compatibility is enabled.true
nacos.core.api.compatibility.admin.enabledWhether Admin API compatibility is enabled.false
nacos.core.api.compatibility.console.enabledWhether Console API compatibility is enabled.false
nacos.config.gray.compatible.modelWhether Beta/Tag gray-release compatibility and migration to the new gray model is enabled.true
nacos.gray.migrate.executor.multiThread count for gray config migration.8
nacos.config.namespace.compatible.modeWhether empty namespace IDs are migrated to public.true
nacos.namespace.migrate.retry.timesRetry count for namespace migration failures.3
nacos.namespace.migrate.batch.sizeNamespace migration batch size.100

Startup Script and Image Variables

The distribution startup.sh supports these common options:

OptionDescriptionRelated property
-m standaloneStart in standalone mode.nacos.standalone=true
-m clusterStart in cluster mode.nacos.standalone=false
-f configStart config-related modules only.nacos.functionMode=config
-f namingStart naming-related modules only.nacos.functionMode=naming
-f microserviceStart microservice-related modules.nacos.functionMode=microservice
-f aiStart AI-related modules.nacos.functionMode=ai
-cSet the cluster member list.nacos.member.list
-p embeddedUse embedded storage in cluster mode.embeddedStorage=true
-dSet the deployment type.nacos.deployment.type

When using the official container image, common environment variables include MODE, NACOS_SERVERS, PREFER_HOST_MODE, NACOS_AUTH_ENABLE, NACOS_AUTH_ADMIN_ENABLE, NACOS_AUTH_CONSOLE_ENABLE, NACOS_AUTH_TOKEN, NACOS_AUTH_IDENTITY_KEY, NACOS_AUTH_IDENTITY_VALUE, and NACOS_CONSOLE_PORT. Different image versions may have different conversion scripts. For production deployments, mount a complete application.properties and treat the image repository or Helm Chart documentation as the source of truth.