文档首页 > > 用户指南> 下载与安装证书> 在Nginx服务器上安装SSL证书

在Nginx服务器上安装SSL证书

分享
更新时间: 2019/10/30 GMT+08:00

操作场景

本章节介绍如何将下载的证书安装到Nginx服务器上。安装好证书后,您的Web服务器将能支持SSL通信,从而保证您Web服务器的通信安全。

  • 安装前,请务必在Nginx服务器上开启“443”端口,避免安装后仍然无法启用HTTPS。
  • 如果一个域名有多个服务器,则每一个服务器上都要去部署。

前提条件

  • 已获取管理控制台的登录账号与密码。
  • “证书状态”“已签发”
  • 已下载SSL证书,具体操作请参见下载证书

操作步骤

在Nginx服务器上安装SSL证书的流程如下所示:

①获取文件②创建目录③修改配置文件④验证配置是否正确⑤重启Nginx⑥效果验证

步骤一:获取文件

安装证书前,需要获取证书文件和密码文件,请根据申请证书时选择的“证书请求文件”生成方式来选择操作步骤:

  • 如果申请证书时,“证书请求文件”选择“系统生成CSR”,具体操作请参见:系统生成CSR
  • 如果申请证书时,“证书请求文件”选择“自己生成CSR”,具体操作请参见:自己生成CSR

具体操作如下:

  • 系统生成CSR
    1. 在本地解压已下载的证书文件。
      下载的文件包含了 “Apache”“IIS”“Nginx”“Tomcat”4个文件夹和1个 “domain.csr”文件,如 图1所示。
      图1 解压SSL证书
    2. “Nginx”文件夹内获得证书文件“server.crt”和私钥文件“server.key”
      • “server.crt”文件包括两段证书代码“-----BEGIN CERTIFICATE-----”“-----END CERTIFICATE-----”,分别为服务器证书和中级CA。
      • “server.key”文件包括一段私钥代码“-----BEGIN RSA PRIVATE KEY-----”“-----END RSA PRIVATE KEY-----”
  • 自己生成CSR
    1. 解压已下载的证书压缩包,获得“server.pem”文件。

      “server.pem”文件包括两段证书代码“-----BEGIN CERTIFICATE-----”“-----END CERTIFICATE-----”,分别为服务器证书和中级CA证书。

    2. “server.pem”的后缀名修改为“crt”,即“server.crt”
    3. “server.crt”和生成CSR时的私钥“server.key”放在任意文件夹内。

步骤二:创建目录

在Nginx的安装目录下创建“cert”目录,并且将“server.key”“server.crt”拷贝到“cert”目录下。

步骤三:修改配置文件

配置Nginx中“conf”目录下的“nginx.conf”文件。

  1. 找到如下配置内容:
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;
    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;
    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;
    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;
    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}
  2. 删除行首的配置语句注释符号#。
    server {  
                 listen              443 ssl;  
                 server_name         localhost;
                 ssl_certificate     cert.pem;  
                 ssl_certificate_key cert.key;
                 ssl_session_cache   shared:SSL:1m;  
                 ssl_session_timeout 5m;  
                 ssl_ciphers         HIGH:!aNULL:!MD5;         
                 ssl_prefer_server_ciphers  on;  
                 location / {  
                            root     html; 
                            index    index.html index.htm;  
                             }  
    }
  3. 修改如下参数,具体参数修改说明如表1所示。
    ssl_certificate          cert/server.crt;    
    ssl_certificate_key      cert/server.key;   

    完整的配置如下,其余参数根据实际情况修改:

    server {
            listen       443 ssl;
            server_name  www.domain.com; #修改为您证书绑定的域名。
            ssl_certificate      cert/server.crt; #替换成您的证书文件的路径。
            ssl_certificate_key  cert/server.key; #替换成您的私钥文件的路径。
            ssl_session_cache    shared:SSL:1m;
            ssl_session_timeout  5m;
            ssl_ciphers  HIGH:!aNULL:!MD5; #加密套件。
            ssl_prefer_server_ciphers  on;
            location / {
                root   html; #站点目录。
                index  index.html index.htm; #添加属性。
                       }  
    }

    不要直接拷贝所有配置,参数中“ssl”开头的属性与证书配置有直接关系,其它参数请根据自己的实际情况修改。

    表1 参数说明

    参数

    参数说明

    listen

    SSL访问端口号,设置为“443”

    server_name

    证书绑定的域名。示例:www.domain.com

    ssl_certificate

    证书文件“server.crt”

    设置为“server.crt”文件的路径,且路径中不能包含中文字符,例如“cert/server.crt”

    ssl_certificate_key

    私钥文件“server.key”

    设置为“server.key”的路径,且路径中不能包含中文字符,例如“cert/server.key”

  4. 修改完成后保存配置文件。

步骤四:验证配置是否正确

进入Nginx执行目录下,执行以下命令:

sbin/nginx -t

当回显信息如下所示时,则表示配置正确:
nginx.conf syntax is ok
nginx.conf test is successful

步骤五:重启Nginx

执行以下操作重启Nginx。

在Nginx安装目录下执行nginx -s quit命令,停止Nginx服务;

在Nginx安装目录下执行start nginx命令,启动Nginx服务。

效果验证

部署成功后,可在浏览器的地址栏中输入“https://域名”,按“Enter”

如果浏览器地址栏显示绿色的小锁标识,则说明证书安装成功。

如果证书安装过程中遇到问题,请在证书下载页面右方的“一对一咨询”中,单击“立即咨询”,联系工程师进行处理。

您还可以直接单击HTTPS服务配置全站加密SSL优化检测进行购买,购买服务后,联系工程师进行处理。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区