Nginx:创建CSR并安装SSL证书(OpenSSL)

原文来自
https://www.digicert.com/csr-ssl-installation/nginx-openssl.htm

使用OpenSSL创建CSR并在Nginx服务器上安装SSL证书
使用此页面上的说明使用OpenSSL创建证书签名请求(CSR),然后在Nginx服务器上安装SSL证书。

重新启动注意:安装SSL / TLS证书并配置服务器以使用它后,必须重新启动Nginx实例。

要创建证书签名请求(CSR),请参阅Nginx:使用OpenSSL创建CSR 。

要安装SSL证书,请参阅Nginx:安装和配置SSL证书 。

I. Nginx:使用OpenSSL创建CSR
使用本节中的说明创建自己的shell命令,以使用OpenSSL生成Nginx CSR。

推荐:节省一些时间。 使用DigiCert OpenSSL CSR向导生成用于创建Nginx CSR的OpenSSL命令。 只需填写表单,单击Generate ,然后将自定义的OpenSSL命令粘贴到终端中。

如何使用OpenSSL为Nginx生成CSR
如果您希望构建自己的shell命令来生成Nginx CSR,请按照以下说明操作。

通过终端客户端(ssh)登录服务器。

运行命令

在提示符下,键入以下命令:

注意:确保使用服务器名称替换服务器。

openssl req –new –newkey rsa:2048 –nodes –keyout server.key –out server.csr

生成文件

您现在已经开始生成以下两个文件的过程:

私钥文件 :用于生成CSR以及稍后使用证书保护和验证连接。
证书签名请求(CSR)文件 :用于订购SSL证书,稍后用于加密只有其相应私钥可以解密的邮件。
当系统提示您输入公用名 (域名)时,请键入要保护的站点的完全限定域(FQDN)。

注意:如果您要为通配符证书生成Nginx CSR,请确保您的公用名称以星号(例如* .example.com )开头。

出现提示时,键入您的组织信息,从您的地理信息开始。

注意:您可能已经设置了默认信息。

现在,您的.csr文件将被创建。

订购您的SSL / TLS证书

打开使用文本编辑器创建的.csr文件。

复制文本,包括—–开始新证书申请—–和—–结束新证书申请—–标签,并将其粘贴到DigiCert订单表格中 。

保存私钥

保存(备份)生成的.key文件。 安装SSL证书后,您将需要它。

安装证书

从DigiCert收到SSL证书后,您可以将其安装在服务器上。

II。 Nginx:安装和配置您的SSL证书
如果您仍需要创建证书签名请求(CSR)并订购证书,请参阅Nginx:使用OpenSSL创建CSR 。

在我们验证并颁发了SSL证书之后,您可以将其安装在生成CSR的Nginx服务器上,并配置服务器以使用它。

如何安装和配置SSL证书
主要和中间证书

您应该在颁发证书时通过电子邮件收到DigiCert的your_domain_name.pem文件。 此.pem文件包含主证书和中间证书。 如果您有.pem文件,则可以跳到步骤4 。

如果需要将主证书和中间证书连接到单个文件,请参阅步骤2。

将证书文件复制到您的服务器

登录您的DigiCert帐户并下载中间件(DigiCertCA.crt)和您的主证书( your_domain_name.crt )文件。

将这些文件以及创建CSR时生成的.key文件复制到服务器上保存证书和密钥文件的目录。

注意:仅使root可读,以提高安全性。

连接主证书和中间证书

您需要将主证书文件(your_domain_name.crt)和中间证书文件(DigiCertCA.crt)连接到单个.pem文件中。

要连接文件,请运行以下命令:

cat your_domain_name.crt DigiCertCA.crt >> bundle.crt

编辑Nginx虚拟主机文件

打开您正在保护的网站的Nginx虚拟主机文件。

制作现有非安全服务器模块的副本,并将其粘贴到原始模块下方。

注意:如果您需要通过安全(https)和非安全(http)连接访问您的站点,则每种类型的连接都需要一个服务器模块。

接下来,在下面添加粗体行:

server {

    listen   443;

    ssl    on;
    ssl_certificate    /etc/ssl/your_domain_name.pem; (or bundle.crt)
    ssl_certificate_key    /etc/ssl/your_domain_name.key;

    server_name your.domain.com;
    access_log /var/log/nginx/nginx.vhost.access.log;
    error_log /var/log/nginx/nginx.vhost.error.log;
    location / {
        root   /home/www/public_html/your.domain.com/public/;
        index  index.html;
    }

}

调整文件名以匹配您的证书文件:

ssl_certificate应该是您的主证书以及您在上一步中创建的中间证书(例如, your_domain_name.crt )。

ssl_certificate_key应该是创建CSR时生成的.key文件。

重启Nginx。

运行以下命令重新启动Nginx:

sudo /etc/init.d/nginx restart

恭喜! 您已成功安装SSL证书。

故障排除:
使用DigiCert®SSL安装诊断工具

如果您的网站可公开访问,我们的SSL证书检查器可以帮助您诊断常见问题。

使用浏览器访问您的网站

打开网络浏览器并使用https访问您的网站。 我们建议您使用Firefox测试您的网站; 如果未安装中间证书,此浏览器将向您发出警告。 您不应该收到任何浏览器警告或错误。

如果您立即收到有关该站点不可用的浏览器消息,则Nginx可能尚未在端口443上侦听。

如果您的Web请求需要很长时间并且超时,则防火墙可能会阻止TCP端口443上的流量到Web服务器。

如果收到“不信任”警告,请查看证书以查看它是否是您期望的证书。

查看证书时,请检查“ 主题” ,“ 颁发者 ”和“ 有效期”字段

如果必须连接证书文件,则主证书(例如, your_domain_name.crt )可能无法与中间证书正确组合。

有关更多信息,请参阅Nginx SSL文档 。

生成SSL证书并配置Nginx SSL证书的步骤如下: 1. 生成密钥对 使用openssl生成密钥对,命令如下: ```shell openssl genrsa -des3 -out server.key 2048 ``` 其中,server.key是生成的密钥文件名,2048是密钥长度,可以根据需要进行修改。 2. 生成证书请求文件 使用上一步生成的密钥文件生成证书请求文件,命令如下: ```shell openssl req -new -key server.key -out server.csr ``` 其中,server.key是上一步生成的密钥文件名,server.csr是生成的证书请求文件名。 在执行该命令时,需要输入一些证书相关的信息,例如国家、省份、城市、公司、部门等信息。这些信息可以根据实际情况进行填写。 3. 生成证书文件 使用上一步生成的证书请求文件生成证书文件,命令如下: ```shell openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt ``` 其中,server.csr是上一步生成的证书请求文件名,server.key是上一步生成的密钥文件名,server.crt是生成的证书文件名。 在执行该命令时,需要输入一些证书相关的信息,例如国家、省份、城市、公司、部门等信息。这些信息可以根据实际情况进行填写。 4. 配置Nginx SSL证书Nginx配置文件中添加SSL证书配置,例如: ```shell server { listen 443 ssl; server_name example.com; ssl_certificate /path/to/server.crt; ssl_certificate_key /path/to/server.key; ... } ``` 其中,/path/to/server.crt和/path/to/server.key分别是上一步生成的证书文件和密钥文件的路径。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值