正式证书快速入门

👁️ 5516 ❤️ 553
正式证书快速入门

登录数字证书管理服务控制台。

在左侧导航栏,选择证书管理 > SSL证书管理。

在正式证书页签,定位到目标证书,在操作列,单击更多,然后选择下载页签。

在服务器类型为Nginx的操作列,单击下载。

解压缩已下载的SSL证书压缩包。

根据您在提交证书申请时选择的CSR生成方式,解压缩获得的文件不同,具体如下表所示。

CSR生成方式

证书压缩包包含的文件

系统生成或选择已有的CSR

证书文件(PEM格式):Nginx支持安装PEM格式的文件,PEM格式的证书文件是采用Base64编码的文本文件,且包含完整证书链。解压后,该文件以证书ID_证书绑定域名命名。

私钥文件(KEY格式):默认以证书绑定域名命名。

手动填写

如果您填写的是通过数字证书管理服务控制台创建的CSR,下载后包含的证书文件与系统生成的一致。

如果您填写的不是通过数字证书管理服务控制台创建的CSR,下载后只包括证书文件(PEM格式),不包含证书密码或私钥文件。您可以通过证书工具,将证书文件和您持有的证书密码或私钥文件转换成所需格式。转换证书格式的具体操作,请参见证书格式转换。

登录到服务器,进入终端,执行以下命令,在Nginx的conf目录下创建一个用于存放证书的目录。

#进入Nginx默认配置文件目录。该目录为手动编译安装Nginx时的默认目录,如果您修改过默认安装目录或使用其他方式安装,请根据实际配置调整。

cd /usr/local/nginx/conf

#创建证书目录,命名为cert。

mkdir cert 将证书文件和私钥文件上传到Nginx服务器的证书目录(/usr/local/nginx/conf/cert)。

说明 您可以使用远程登录工具附带的本地文件上传功能,上传文件。例如PuTTY、Xshell或WinSCP等。如果您使用的是阿里云云服务器 ECS,上传文件具体操作,请参见使用远程桌面或Windows APP向Windows实例传输文件或上传文件到Linux云服务器。

编辑Nginx配置文件nginx.conf,修改与证书相关的配置。

执行以下命令,打开配置文件。

sudo vim /usr/local/nginx/conf/nginx.conf说明 如果您不清楚nginx.conf的位置,可以执行nginx -t,查看nginx的配置文件路径。

在nginx.conf中定位到HTTPS server属性配置。

说明 如果确定nginx.conf或include指令所引用的文件不存在上图server块,请您自行手动进行添加。

删除行首注释符号#,并参考如下示例进行修改。

server {

#HTTPS的默认访问端口443。

#如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。

listen 443 ssl;

#填写证书绑定的域名

server_name ;

#填写证书文件绝对路径

ssl_certificate cert/.pem;

#填写证书私钥文件绝对路径

ssl_certificate_key cert/.key;

ssl_session_cache shared:SSL:1m;

ssl_session_timeout 5m;

#自定义设置使用的TLS协议的类型以及加密套件(以下为配置示例,请您自行评估是否需要配置)

#TLS协议版本越高,HTTPS通信的安全性越高,但是相较于低版本TLS协议,高版本TLS协议对浏览器的兼容性较差。

ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;

ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;

#表示优先使用服务端加密套件。默认开启

ssl_prefer_server_ciphers on;

location / {

root html;

index index.html index.htm;

}

}可选:设置HTTP请求自动跳转到HTTPS。

如果您希望所有的HTTP访问自动跳转到HTTPS页面,可通过rewrite指令重定向到HTTPS。

重要 请在nginx.conf文件中定位到http server的配置代码块,新增配置重定向的代码。

如果找不到上述代码段,可以将以下代码片段放置在nginx.conf文件中server {}代码段后面,即设置HTTP请求自动跳转到HTTPS后,nginx.conf文件中会存在两个server {}代码段。

server {

listen 80;

#填写证书绑定的域名

server_name ;

#将所有HTTP请求通过rewrite指令重定向到HTTPS。

rewrite ^(.*)$ https://$host$1;

location / {

index index.html index.htm;

}

}配置效果如下图所示:

执行以下命令,重启Nginx服务。

#进入Nginx服务的可执行目录。

cd /usr/local/nginx/sbin

#重新载入配置文件。

./nginx -s reload说明 报错the "ssl" parameter requires ngx_http_ssl_module:您需要重新编译Nginx并在编译安装的时候加上--with-http_ssl_module配置。

报错"/cert/3970497_demo.aliyundoc.com.pem":BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/cert/3970497_demo.aliyundoc.com.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file):您需要去掉证书相对路径最前面的/。例如,您需要去掉/cert/cert-file-name.pem最前面的/,使用正确的相对路径cert/cert-file-name.pem。

← 盘点:2015年 VR界出了这6款代表作品 怎么删除电脑开机密码 取消电脑开机密码方法【详解】 →