API7 网关数据面配置参考
API7 网关数据面(DP)处理所有传入流量,并应用控制面定义的策略。本页提供数据面配置参考。
概述
数据面配置通常通过 config.yaml 文件进行管理,该文件会覆盖 config-default.yaml 中的默认设置。
核心配置
配置核心工作进程和文件限制。
nginx_config:
worker_processes: auto # 自动设置为 CPU 核心数
worker_rlimit_nofile: 20480 # 每个工作进程可打开的最大文件数
监听端口
配置明文 HTTP 和 HTTPS 流量的监听端口。
apisix:
node_listen: # 无论端口号是什么,此处始终监听明文流量。
- port: 9080 # 默认 HTTP 端口
ssl:
enable: true # 启用 HTTPS 监听器。
listen: # HTTPS 端口应配置在 ssl.listen 下。
- port: 9443 # 默认 HTTPS 端口
enable_http2: true
代理缓存配置
启用并配置缓存以提高性能并减少上游负载。
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"
路由模式
指定用于将传入请求与路由进行匹配的路由模式。
apisix:
router:
http: radixtree_uri # 默认路由模式
TLS 设置
为传入的 HTTPS 请求配置 TLS 行为。
apisix:
ssl:
ssl_protocols: "TLSv1.2 TLSv1.3"
ssl_ciphers: "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256"
状态 API 端点
添加 status 块以暴露网关的存活和就绪端点。存在该块即启用监听,运行时配置没有 enabled 字段。
apisix:
status:
ip: 127.0.0.1
port: 7085
/status 端点确认进程正在运行,/status/ready 端点还会检查 worker 同步状态和 DP Manager 可用性。如果探针在网关网络命名空间之外运行,请将 ip 设置为探针可访问的地址。有关指标,请参阅监控网关指标。
自定义插件路径
将自定义插件加载到 API7 网关中。
apisix:
extra_lua_path: "/usr/local/apisix/plugins/?.lua"
环境变量
使用环境变量动态配置数据面节点。
# 在 config.yaml 中使用 ${{VAR_NAME}};Nginx 已使用 ${VAR_NAME}。
apisix:
node_listen:
- port: ${{GATEWAY_PORT}}