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.
apisix:
worker_processes: auto # Automatically set to number of CPU cores
worker_rlimit_nofile: 1024000 # Max number of open files for each worker process
Listening Ports
Configure the ports for different types of traffic.
apisix:
node_listen:
- port: 9080 # Default HTTP port
- port: 9443 # Default HTTPS port
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
Expose internal metrics and health check information.
apisix:
status:
enabled: true
port: 7085
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} syntax
apisix:
node_listen:
- port: ${GATEWAY_PORT}