Skip to content
下载《AI 应用 & AI Agent 开发新范式》电子书 了解构建 AI Agent 和 MCP Server 的一线实践Know more

Global Configuration Description

Common Global Configuration

Higress global configuration ConfigMap object higress-config adds a higress item, reference configuration as follows:

apiVersion: v1
data:
higress: |-
tracing:
enable: true
sampling: 100
timeout: 500
skywalking:
service: skywalking-oap-server.op-system.svc.cluster.local
port: 11800
gzip:
enable: false
minContentLength: 1024
contentType:
- text/html
- application/json
- text/css
- application/javascript
- application/xhtml+xml
- image/svg+xml
disableOnEtagHeader: true
memoryLevel: 5
windowBits: 12
chunkSize: 4096
compressionLevel: BEST_COMPRESSION
compressionStrategy: DEFAULT_STRATEGY
addXRealIpHeader: false
disableXEnvoyHeaders: false
downstream:
connectionBufferLimits: 32768
http2:
initialConnectionWindowSize: 1048576
initialStreamWindowSize: 65535
maxConcurrentStreams: 100
idleTimeout: 180
maxRequestHeadersKb: 60
upstream:
connectionBufferLimits: 1048576
idleTimeout: 10
...
kind: ConfigMap
metadata:
name: higress-config
namespace: higress-system

Configuration Description

FieldTypeDescriptionDefault
addXRealIpHeaderbooleanWhether to add x-real-ip request header. If true, x-real-ip parameter will be added to the request headerfalse
disableXEnvoyHeadersbooleanWhether to disable x-envoy prefix request headers (e.g., x-envoy-original-path) attached to forwarded requests. If true, they will be disabledfalse
downstreamSee downstream settings belowDownstream settingsSee downstream default values below
upstreamSee upstream settings belowUpstream settingsSee upstream default values below
tracingSee tracing settings belowTracing settingsSee tracing default values below
gzipSee gzip settings belowGzip settingsSee gzip default values below

Tracing Configuration

FieldTypeDescriptionDefault
enablebooleanWhether to enable tracing functionalityfalse
samplingfloatSampling rate, between 0.0 - 100.0100.0
timeoutintTracing middleware grpc connection timeout, in milliseconds500
skywalkingSee skywalking settings belowSkywalking configurationNot set
zipkinSee zipkin settings belowZipkin configurationNot set
opentelemetrySee opentelemetry settings belowOpenTelemetry configurationNot set
Skywalking Configuration
FieldTypeDescriptionDefault
servicestringSkywalking grpc service name, i.e., the service name seen in the console service list, e.g., my-server.dns, my-server.my-ns.svc.cluster.localEmpty
portstringSkywalking grpc service portEmpty
access_tokenstringSkywalking grpc service access tokenEmpty
Zipkin Configuration
FieldTypeDescriptionDefault
servicestringZipkin service name, i.e., the service name seen in the console service list, e.g., my-server.dns, my-server.my-ns.svc.cluster.localEmpty
portstringZipkin service portEmpty
OpenTelemetry Configuration
FieldTypeDescriptionDefault
servicestringOpenTelemetry grpc service name, i.e., the service name seen in the console service list, e.g., my-server.dns, my-server.my-ns.svc.cluster.localEmpty
portstringOpenTelemetry grpc service portEmpty

Note: Skywalking, Zipkin, and OpenTelemetry cannot be set simultaneously; only one configuration can take effect

Gzip Configuration

FieldTypeDescriptionDefault
enablebooleanWhether to enable gzip functionalityfalse
minContentLengthintMinimum byte length to enable compression output1024
contentTypearrayContent-type types for enabling compression outputtext/html,application/json,text/css,
application/javascript,application/xhtml+xml,
image/svg+xml
disableOnEtagHeaderbooleanIf true, gzip functionality will be disabled when the response contains an etag headertrue
memoryLevelintControls zlib memory usage from 1 to 95
windowBitsintRepresents compression algorithm window size from 9 to 1512
chunkSizeintZlib buffer size4096
compressionLevelstringZlib compression ratioBEST_COMPRESSION
compressionStrategystringZlib compression strategyDEFAULT_STRATEGY

For detailed explanation of gzip parameter configuration, refer to the envoy gzip compression documentation: https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/compression/gzip/compressor/v3/gzip.proto#envoy-v3-api-msg-extensions-compression-gzip-compressor-v3-gzip

Downstream Configuration

FieldTypeDescriptionDefault
connectionBufferLimitsintConnection buffer size, in bytes32768
http2See http2 settings belowHTTP/2 settingsSee http2 default values below
idleTimeoutintConnection idle timeout, in seconds, 0 means this configuration is disabled180
maxRequestHeadersKbintMaximum request header size, in Kb, maximum is 8192Kb60
HTTP/2 Configuration
FieldTypeDescriptionDefault
initialConnectionWindowSizeintHTTP/2 connection window size, in bytes, range from 65535 to 21474836471048576
initialStreamWindowSizeintHTTP/2 stream window size, in bytes, range from 65535 to 214748364765535
maxConcurrentStreamsintHTTP/2 maximum concurrent streams, range from 1 to 2147483647100

Upstream Configuration

FieldTypeDescriptionDefault
connectionBufferLimitsintConnection buffer size, in bytes1048576
idleTimeoutintConnection idle timeout (idle is defined as no pending requests; if there are requests being processed, it won’t be considered idle), in seconds, 0 means this configuration is disabled10

TLS Certificate Global Configuration

Note: Currently only effective for Ingress mode, Gateway API is not yet supported

Higress TLS global configuration ConfigMap object higress-https, reference configuration as follows:

apiVersion: v1
kind: ConfigMap
metadata:
name: higress-https
namespace: higress-system
data:
cert: |
automaticHttps: true
renewBeforeDays: 30
fallbackForInvalidSecret: true
acmeIssuer:
- name: letsencrypt
email: test@example.com
credentialConfig:
- tlsIssuer: letsencrypt
domains:
- foo.com
tlsSecret: foo-com-secret

Configuration Description

FieldTypeDescriptionDefault
automaticHttpsbooleanWhether to enable certificate issuance through ACME Issuertrue
renewBeforeDaysintHow many days before certificate expiration to automatically renew, maximum value is 90 days30
fallbackForInvalidSecretbooleanIf enabled, when the secretName configured in ingress TLS doesn’t exist, it will match a secret based on the domain name in the credentialConfig configurationfalse
acmeIssuerarrayACME Issuer settingsSee acmeIssuer below
credentialConfigarrayCredential configuration settingsSee credentialConfig below

credentialConfig Configuration

FieldTypeDescriptionDefault
tlsSecretstringCertificate secret name-
tlsIssuerstringCorresponding ACME Issuer name, currently only supports letsencrypt. When tlsIssuer is not filled, domains can be a list or wildcard domain, used for global management of secret configurations for these domains; if set to letsencrypt, only one domain can be configured under domains, and it cannot be a wildcard domain, and tlsSecret cannot be an existing non-Higress created automatic certificate-
domainsarrayDomain configuration, can be wildcard domains-

acmeIssuer Configuration

FieldTypeDescriptionDefault
namestringACME Issuer name, only supports letsencrypt-
emailstringACME Issuer email, used for notification of certificate changes and other events-

How to Enable and Disable ACME Issuer Automatic Certificate Management

By default, ACME Issuer automatic certificate management is enabled during installation, and the system randomly generates an email address. The specific configuration parameters are as follows:

Parameter NameParameter DescriptionDefault Value
higress-core.controller.automaticHttps.enabledWhether to enable ACME Issuer certificate issuance, only supports letsencrypttrue
higress-core.controller.automaticHttps.emailACME Issuer email, if empty, the system randomly generates an email address-