双向认证
#
为什么使用双向认证可以更好的防止未经授权访问 APISIX ,客户端将向服务器提供其证书,服务器将检查证书是否由提供的 CA 签名并决定是否响应请求。
#
如何开启生成自签证书对,包括 ca、server、client 证书对。
修改
conf/config.yaml
中的配置项:
port_admin: 9180 https_admin: true
mtls: enable: true # Enable or disable mTLS. Enable depends on `port_admin` and `https_admin`. ca_cert: "/data/certs/mtls_ca.crt" # Path of your self-signed CA cert. server_key: "/data/certs/mtls_server.key" # Path of your self-signed server side cert. server_cert: "/data/certs/mtls_server.crt" # Path of your self-signed server side key.
- 执行命令:
apisix initapisix reload
#
客户端如何调用请将以下证书及域名替换为您的真实内容。
- 注意:需要和服务器使用相同的 CA 证书 *
curl --cacert /data/certs/mtls_ca.crt --key /data/certs/mtls_client.key --cert /data/certs/mtls_client.crt https://admin.apisix.dev:9180/apisix/admin/routes -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1'