目录
前提条件
步骤一:下载SSL证书
步骤二:在Nginx服务器安装证书
步骤三:验证SSL证书是否配置成功
前提条件
- 已通过数字证书管理服务控制台签发证书
- SSL证书绑定的域名已完成DNS解析,即您的域名与主机IP地址相互映射
- 已在Web服务器开放443端口(HTTPS通信的标准端口)
- 如果您使用的是阿里云ECS服务器,请确保已经在安全组规则入方向添加TCP 443端口
步骤一:下载SSL证书
- 1-下载服务器类型为Nginx的证书
- 2-解压缩已下载的SSL证书压缩包
- 根据您在提交证书申请时选择的CSR生成方式,解压缩获得的文件不同
- 具体如下表所示:
-
CSR生成方式 证书压缩包包含的文件 系统生成或选择已有的CSR -
证书文件(PEM格式):Nginx支持安装PEM格式的文件,PEM格式的证书文件是采用Base64编码的文本文件,且包含完整证书链。解压后,该文件以
证书ID_证书绑定域名
命名 -
私钥文件(KEY格式):默认以证书绑定域名命名
手动填写 -
如果您填写的是通过数字证书管理服务控制台创建的CSR,下载后包含的证书文件与系统生成的一致
-
如果您填写的不是通过数字证书管理服务控制台创建的CSR,下载后只包括证书文件(PEM格式),不包含证书密码或私钥文件。您可以通过证书工具,将证书文件和您持有的证书密码或私钥文件转换成所需格式
-
步骤二:在Nginx服务器安装证书
- 1-执行以下命令,在Nginx的conf目录下创建一个用于存放证书的目录
- 2-将证书文件和私钥文件上传到Nginx服务器的证书目录(/usr/local/nginx/conf/cert)
- 您可以使用远程登录工具附带的本地文件上传功能,上传文件
- 例如PuTTy、Termius、Xftp或WinSCP等
- 3-编辑Nginx配置文件nginx.conf,修改与证书相关的配置
- (1)执行以下命令,打开配置文件
- (2)在nginx.conf中定位到server属性配置
- (3)删除行首注释符号#,并参考如下示例进行修改
- (4)可选:设置HTTP请求自动跳转HTTPS
- 如果您希望所有的HTTP访问自动跳转到HTTPS页面,可通过rewrite指令重定向到HTTPS
- 注意:以下代码片段需要放置在nginx.conf文件中server {}代码段后面,即设置HTTP请求自动跳转HTTPS后,nginx.conf文件中会存在两个server {}代码段
- 配置效果如下图所示:
- 4-执行以下命令,重启Nginx服务
- 注意:
- 报错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
步骤三:验证SSL证书是否配置成功
- 证书安装完成后,您可通过访问证书的绑定域名验证该证书是否安装成功
- 如果网页地址栏出现小锁标志,表示证书已经安装成功