spacewander commented on code in PR #7540:
URL: https://github.com/apache/apisix/pull/7540#discussion_r931799132


##########
docs/en/latest/certificate.md:
##########
@@ -171,3 +171,146 @@ private keys by `certs` and `keys`.
 
 `APISIX` will pair certificate and private key with the same indice as a SSL 
key
 pair. So the length of `certs` and `keys` must be same.
+
+### set up multiple CA certificates
+
+APISIX currently uses CA certificates in several places, such as [Protect 
Admin API](./mtls.md#protect-admin-api), [etcd with 
mTLS](./mtls.md#etcd-with-mtls), and [Deployment 
Modes](./architecture-design/deployment-role.md).
+
+In these places, `ssl_trusted_certificate` or `trusted_ca_cert` will be used 
to set up the CA certificate, but these configurations will eventually be 
translated into 
[lua_ssl_trusted_certificate](https://github.com/openresty/lua-nginx-module#lua_ssl_trusted_certificate)
 directive in OpenResty.
+
+If you need to set up different CA certificates in different places, then you 
can package these CA certificates into a CA bundle file and point to this file 
when you need to set up CAs. This will avoid the problem that the generated 
`lua_ssl_trusted_certificate` has multiple locations and overwrites each other.
+
+The following is a complete example to show how to set up multiple CA 
certificates in APISIX.
+
+Suppose we let client and APISIX Admin API, APISIX and ETCD communicate with 
each other using mTLS protocol, and currently there are two CA certificates, 
`foo_ca.crt` and `bar_ca.crt`, and use each of these two CA certificates to 
issue client and server certificate pairs, `foo_ca. crt` and its issued 
certificate pair are used to protect Admin API, and `bar_ca.crt` and its issued 
certificate pair are used to protect ETCD.

Review Comment:
   ```suggestion
   Suppose we let client and APISIX Admin API, APISIX and ETCD communicate with 
each other using mTLS protocol, and currently there are two CA certificates, 
`foo_ca.crt` and `bar_ca.crt`, and use each of these two CA certificates to 
issue client and server certificate pairs, `foo_ca.crt` and its issued 
certificate pair are used to protect Admin API, and `bar_ca.crt` and its issued 
certificate pair are used to protect ETCD.
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to