【发布时间】:2021-09-24 06:32:23
【问题描述】:
我有三个关于证书的文件:
- example.com.ca-bundle # contains root and intermediate certificates
- example.com.crt # Certificate
- example.com.p7b # only contains certificates and chain certificates
我需要配置 NGINX 以接受 HTTPS,但我感到有点困惑,因为我没有最丰富的 SSL 经验,而且大多数示例似乎都使用证书/密钥对。这种 NGINX 配置是正确的方法吗?
server {
listen 443 ssl;
server_name www.example.com;
ssl_certificate /path/to/example.com.crt;
ssl_certificate_key /path/to/example.com.crt;
...
}
【问题讨论】:
-
您需要拥有私钥。它应该在您创建 CSR 之前创建。如果您没有私钥,则无法创建 HTTPS 服务器。
-
@SteffenUllrich 是正确的。如果您没有私钥,则需要生成一个和另一个 CSR。您的格式在其他方面看起来是正确的,但您需要更改
ssl_certificate_key以在获得私钥文件而不是证书后使用它。此外,您还需要将 ca-bundle 文件的内容附加到 crt 文件中,以确保您的证书受到浏览器的信任。 -
谢谢你们!这回答了我的问题。