Nginx

用於多個伺服器和子域的 SSL

  • December 7, 2017

我從 RapidSSL 購買了萬用字元 ssl 證書並嘗試設置它。本質上,我希望能夠將其用作:

  • example.com
  • app.example.com
  • *.app.example.com

如果我可以staging.app.example.com在另一台伺服器(測試伺服器)上使用,那也很好。

我已經讓它工作了,app.example.com但它不適用於其他人。

另外,在做了一些閱讀這個那個之後,我已經了解了它是如何在確定的路線上完成的,但是萬用字元呢?

大多數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
)

引用自:https://serverfault.com/questions/886943