Nginx
用於多個伺服器和子域的 SSL
我從 RapidSSL 購買了萬用字元 ssl 證書並嘗試設置它。本質上,我希望能夠將其用作:
example.com
app.example.com
*.app.example.com
如果我可以
staging.app.example.com
在另一台伺服器(測試伺服器)上使用,那也很好。我已經讓它工作了,
app.example.com
但它不適用於其他人。
大多數CA 將頒發多域 SSL 或單個萬用字元證書。
因此,您需要 (2) 個證書來涵蓋這 3 個域。
example.com, www.example.com
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 )