适用于多个服务器和子域的 SSL

适用于多个服务器和子域的 SSL

我已经从 RapidSSL 购买了通配符 SSL 证书并尝试进行设置。本质上,我希望能够将其用作:

  • example.com

  • app.example.com

  • *.app.example.com

staging.app.example.com如果我可以在另一台服务器(测试服务器)上使用它,那就更好了。

我已经让它工作了,app.example.com但是它对其他人不起作用。

此外,在阅读了一些资料之后,我已经了解了如何在确定的路线上做到这一点,但是通配符怎么样?

答案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
)

相关内容