Configuration Reference for API7 Gateway Data Plane
The API7 Gateway Data Plane (DP) handles all incoming traffic and applies policies defined by the Control Plane. This page provides a reference for the Data Plane configuration.
Overview
The Data Plane configuration is typically managed via a config.yaml file, which overrides the default settings in config-default.yaml.
Core Configuration
Configure the core worker processes and file limits.
nginx_config:
worker_processes: auto # Automatically set to number of CPU cores
worker_rlimit_nofile: 20480 # Max number of open files for each worker process
Listening Ports
Configure listeners for plaintext HTTP and HTTPS traffic.
apisix:
node_listen: # Always plaintext, regardless of the port number.
- port: 9080 # Default HTTP port
ssl:
enable: true # Enable HTTPS listeners.
listen: # HTTPS ports belong under ssl.listen.
- port: 9443 # Default HTTPS port
enable_http2: true
Proxy Cache Configuration
Enable and configure caching to improve performance and reduce upstream load.
apisix:
proxy_cache:
cache_ttl: 10s
zones:
- name: disk_cache_one
memory_size: 50m
disk_size: 1g
disk_path: "/tmp/disk_cache_one"
cache_levels: "1:2"
Router Mode
Specify the router mode for matching incoming requests to routes.
apisix:
router:
http: radixtree_uri # Default router mode
TLS Settings
Configure TLS behavior for incoming HTTPS requests.
apisix:
ssl:
ssl_protocols: "TLSv1.2 TLSv1.3"
ssl_ciphers: "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256"
Status API Endpoint
Add the status block to expose the gateway's liveness and readiness endpoints. The presence of the block enables the listener. The runtime configuration has no enabled field.
apisix:
status:
ip: 127.0.0.1
port: 7085
The /status endpoint confirms that the process is running. The /status/ready endpoint also checks worker synchronization and DP Manager availability. Set ip to an address reachable from the probe if it runs outside the gateway's network namespace. For metrics, see Monitor Gateway Metrics.
Custom Plugin Paths
Load custom-developed plugins into API7 Gateway.
apisix:
extra_lua_path: "/usr/local/apisix/plugins/?.lua"
Environment Variables
Use environment variables to dynamically configure Data Plane nodes.
# In config.yaml, use ${{VAR_NAME}}. Nginx already uses ${VAR_NAME}.
apisix:
node_listen:
- port: ${{GATEWAY_PORT}}