![适用于多个服务器和子域的 SSL](https://linux22.com/image/714582/%E9%80%82%E7%94%A8%E4%BA%8E%E5%A4%9A%E4%B8%AA%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%92%8C%E5%AD%90%E5%9F%9F%E7%9A%84%20SSL.png)
答案1
最多CA 将颁发多域 SSL 或单个通配符证书。
因此,您需要 (2) 个证书来覆盖这 3 个领域。
1)example.com, www.example.com
2)app.example.com, *.app.example.com
staging.app.example.com 被覆盖,*.app.example.com
但是 user.staging.app.example.com 未被覆盖。
我建议-
在某些情况下使用连字符,例如user-staging.app.example.com
我说大多数,因为您可以从 Digicert 和其他一些机构请求这些。
使用 OpenSSL 生成证书 1)
openssl req -new -newkey rsa:2048 -nodes -sha256 -keyout example.com.key -subj "/C=US/ST=Virginia/O=Company Name/OU=Web Security/CN=example.com" -config <(
cat <<-EOF
[req]
default_bits = 2048
default_md = sha256
req_extensions = req_ext
distinguished_name = dn
[ dn ]
[ req_ext ]
subjectAltName = @alt_names
[alt_names]
DNS.1 = example.com
DNS.2 = www.example.com
EOF
)
使用 OpenSSL 的第二代证书)
openssl req -new -newkey rsa:2048 -nodes -sha256 -keyout example.com.key -subj "/C=US/ST=Virginia/O=Company Name/OU=Web Security/CN=example.com" -config <(
cat <<-EOF
[req]
default_bits = 2048
default_md = sha256
req_extensions = req_ext
distinguished_name = dn
[ dn ]
[ req_ext ]
subjectAltName = @alt_names
[alt_names]
DNS.1 = app.example.com
DNS.2 = *.app.example.com
EOF
)