openssl多域名证书配置
时间: 2023-03-19 17:21:23 浏览: 93
要配置一个支持多个域名的 OpenSSL 证书,可以按照以下步骤进行:
1. 编写一个 OpenSSL 配置文件(通常以 .cnf 结尾),可以参考以下示例:
```
[ req ]
default_bits = 2048
distinguished_name = req_distinguished_name
req_extensions = req_ext
[ req_distinguished_name ]
countryName = XX
stateOrProvinceName = XXXX
localityName = XXXX
organizationName = XXXX
commonName = example.com
[ req_ext ]
subjectAltName = @alt_names
[ alt_names ]
DNS.1 = example.com
DNS.2 = www.example.com
DNS.3 = subdomain.example.com
```
2. 运行以下 OpenSSL 命令生成证书和私钥:
```
openssl req -new -newkey rsa:2048 -nodes -keyout example.com.key -out example.com.csr -config example.com.cnf
openssl x509 -req -sha256 -days 365 -in example.com.csr -signkey example.com.key -out example.com.crt -extfile example.com.cnf -extensions req_ext
```
其中 example.com.key 是私钥文件,example.com.csr 是证书请求文件,example.com.crt 是证书文件。
3. 将生成的证书和私钥文件配置到 Web 服务器上,具体操作可以参考不同 Web 服务器的文档。例如,在 Apache 上可以使用以下配置:
```
SSLEngine on
SSLCertificateFile /path/to/example.com.crt
SSLCertificateKeyFile /path/to/example.com.key
```
4. 如果需要支持更多域名,只需要在 OpenSSL 配置文件的 alt_names 中添加更多 DNS 记录即可。例如:
```
[ alt_names ]
DNS.1 = example.com
DNS.2 = www.example.com
DNS.3 = subdomain.example.com
DNS.4 = example.net
DNS.5 = www.example.net
```
5. 生成新的证书和私钥文件,将其配置到 Web 服务器上即可。