ssl证书配置 https域名配置 nginx配置 DV单域名证书

nginx   2026-08-29 11:57   1   0  

一、流程概述

在服务器中部署个人测试证书包含以下三个步骤:

  1. 领取个人测试证书:获取个人测试证书的使用资格。

  2. 提交证书申请:填写证书相关信息并提交审核,等待证书签发。

  3. 部署证书:将签发的证书部署到Web服务器

二、前提条件

  • 已完成实名认证。

  • 已在Web服务器开放443端口(HTTPS通信的标准端口)。

    • 如果您使用的是阿里云ECS服务器,请确保已经在安全组规则入方向添加TCP 443端口。

    • 如果您使用的是其他云服务商或本地服务器,请确保在防火墙或安全组中开启TCP 443端口。

  • 拥有域名,且该域名已完成ICP备案。

  • 拥有该域名的DNS解析管理权限。

说明:443是HTTPS的默认端口,也可根据实际需求自定义端口号。

三、步骤一:领取个人测试证书(免费版)

  1. 登录数字证书管理服务控制台或,在左侧导航栏,选择证书管理 > SSL证书管理 V2.0 。在个人测试证书(原免费证书)页签,单击购买证书。

  2. 在购买证书页面,填写购买数量,其他配置项保持默认,勾选证书服务服务协议和证书技术支持服务须知,单击立即购买并完成支付。

四、步骤二:提交证书申请

1.在个人测试证书(原免费证书)页签,找到目标证书订阅实例,单击操作列下的申请证书。
2.在弹出的证书申请对话框中,填写以下信息,确认无误后单击提交审核。

1.  证书绑定域名:输入证书要绑定的域名,示例域名:`www.aliyun.com`。2.  CSR生成方式:选择系统生成。3.  所在地:选择申请人所在的省份、城市和地区。4.  联系人:选择本次
证书申请的联系人。5.  密钥算法:根据需求选择。密钥长度越长,加密强度越高。RSA\_2048 表示 2048 位密钥的 RSA 算法。
6.  域名验证方式:推荐选择自动DNS验证。当域名 DNS 与当前阿里云账号不一致时,可选择手动 DNS验证或文件验证方式。三种验证方式对比如下:
验证方式说明推荐场景
自动DNS验证系统自动添加DNS解析记录完成验证。仅当域名所在的云解析DNS服务与当前阿里云账号一致时可选。推荐使用,操作最为简便。
手动DNS验证手动前往域名对应的DNS服务商,添加一条CNAME或TXT类型的DNS解析记录。域名DNS服务与当前阿里云账号不一致时使用。
文件验证在域名对应的Web应用服务器上创建指定文件来验证域名所有权。无法操作DNS解析时使用。

五、步骤三:部署证书到 Web 服务器

下文以CentOS 8.0 64位操作系统、Nginx 1.14.2为例说明。其他操作系统或Web服务器(如Apache、Tomcat、IIS等)的部署操作可能有所不同。

1.下载证书文件。

1.  在个人测试证书(原免费证书)页签,找到已签发的证书,单击操作列下的下载。2.  选择与Web服务器类型对应的证书格式(如Nginx),单击操作列下的下载,下载证书文件压缩包。

2.上传证书文件到服务器。

1.  在Nginx的conf目录下创建一个用于存放证书的目录。

    重要
    本示例中的Nginx配置目录位于`/usr/local/nginx/conf`。如不清楚Nginx配置目录,可执行`nginx -t`查看。

    ```
    #进入Nginx默认配置文件目录。
    cd /usr/local/nginx/conf  
    #创建证书目录,命名为cert。
    mkdir cert  
    ```2.  将解压后的证书文件上传到Nginx服务器。解压后的证书文件通常包括:

    -   证书文件(如:`example.com.pem`)

    -   私钥文件(如:`example.com.key`)

3.配置Web服务器:编辑Nginx配置文件nginx.conf,修改与证书相关的配置。

重要
本示例中的Nginx配置目录位于`/usr/local/nginx/conf`。如不清楚`nginx.conf`的位置,可执行`nginx -t`查看。

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

    ```
    sudo vim /usr/local/nginx/conf/nginx.conf
    ```

2.  在`nginx.conf`中找到HTTPS server块配置。

    ```    # HTTPS server
    #
    #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.  删除行首注释符号#,并参考以下示例调整配置。

    说明

    以下示例中已移除不安全的 TLSv1.1 协议(参见 RFC 8996),仅保留 TLSv1.2 和 TLSv1.3。

    修改完成后,按`Esc`键进入命令模式,输入`:wq`并按`Enter`键,保存并退出。

    ```
    server {         #HTTPS的默认访问端口443。
         #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
         listen 443 ssl;         #填写证书绑定的域名
         server_name <YOURDOMAIN>;         #填写证书文件绝对路径
         ssl_certificate cert/<cert-file-name>.pem;         #填写证书私钥文件绝对路径
         ssl_certificate_key cert/<cert-file-name>.key;
         ssl_session_cache shared:SSL:1m;
         ssl_session_timeout 5m;         #自定义设置使用的TLS协议版本和加密套件(以下为配置示例,请自行评估是否需要配置)
         #TLS协议版本越高,HTTPS通信的安全性越高,但高版本TLS协议对浏览器的兼容性较差。
         ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
         ssl_protocols TLSv1.2 TLSv1.3;         #表示优先使用服务端加密套件。默认开启
         ssl_prefer_server_ciphers on;
        location / {
               root html;
               index index.html index.htm;
        }
    }
    ```

4.  执行以下命令,重载配置文件。

    ```    #进入Nginx服务的可执行目录。
    cd /usr/local/nginx/sbin
    #重新载入配置文件。
    ./nginx -s reload
    ```

4.验证部署。

证书部署完成后,您可通过访问证书绑定的域名验证该证书是否部署成功。

```https://yourdomain   #将yourdomain替换为您的实际域名
```

-   如果浏览器地址栏出现锁形图标图标,表示证书已安装成功。


博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。