阿里云免费证书
在Ngix或Tengine服务器上安装证书
说明
- 本文档以 Centos 8、Nginx 1.14.1 为例进行说明,由于版本不同,您在操作过程中的命令可能不同
- 本文档证书名称以 domain name 为例,例如证书文件名称为 domain name.pem , 证书密钥文件名称为 domain name.key
- 下载的Nginx证书压缩文件解压后包含:
- .pem : 证书文件,PEM 文件的扩展名为CRT格式
- .key: 证书密钥文件。申请证书时如果未选择自动创建CRS,则下载的证书文件压缩包中不会包含.key 文件,需要自己手动创建证书密钥文件
操作步骤
-
登陆阿里云SSL证书控制台
-
在左侧导航栏单机概览
-
在SSL证书页面的已签发证书列表中定位到需要下载的证书,单击下载
-
在证书下载页面中定位到Nginx服务器,并单击右侧操作栏的下载,将Nginx服务器证书压缩包下载到本地
-
解压后的文件夹中有两个文件:
证书文件:以 .pem 为后缀或文件类型为 PEM
密钥文件:以 .key 为后缀或文件类型为 KEY -
使用远程登陆工具登陆您的Nginx服务器,在Nginx安装目录(Nginx默认安装目录为/usr/local/nginx/conf)执行一下命令创建cert目录
``` cd /usr/local/nginx/conf # 进入Nginx默认安装目录。此处为Nginx默认安装目录,请您根据实际配置情况操作 mkdir cert # 创建 cert 证书目录 ```
-
使用远程登录工具附带的本地文件上传功能,将下载的证书文件和密钥文件上传到Nginx服务器的cert 目录下
-
打开 Nginx 安装目录 /conf/nginx.conf 配置文件进行编辑,在配置文件中找到 HTTP 协议代码片段,在 HTTP 协议代码里新增以下 server 配置示例。如果 server 配置已存在,按照以下注释内容修改相应的配置即可
server { listen 443; #配置HTTPS的默认访问端口号为443。此处如果未配置HTTPS的默认访问端口,可能会造成Nginx无法启动。Nginx 1.15.0以上版本请使用listen 443 ssl代替listen 443和ssl on。 server_name www.fangxiapu.cn; root html; index index.thml index.htm; ssl_certificate cert/domain name.pem; #将domain name.pem替换成您证书的文件名称。 ssl_certificate_key cert/domain/domain name.key; #将domain name.key替换成您证书的密钥文件名称。 ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件 ssl_protocols TLSv1.1 TLSv1.2; #使用该协议进行配置。 ssl_prefer_server_ciphers on; location / { root html; index index.html index.htm; } }
-
重启nginx服务器
10.可选:设置HTTP 请求字段跳转HTTPS,在需要跳转的HTTP 站点下添加 rewrite 语句,实现HTTP访问自动跳转到HTTPS页面server { listen 443; server_name www.fangxiaopu.cn; rewrite ^(.*)$ https://$host$1 permanent; #将所有HTTP请求通过rewrite重定向到HTTPS。 location / { index index.html index.htm; } }