MENU

申请和安装 SSL 证书 | Blog 折腾小记(8)

2019 年 11 月 01 日 • 阅读: 372 • 笔记•记录

本文若有失效或者错误内容请留言或者通过其他方式联系我,尽可能及时更新。

欢迎关注不怎么更新的 TG 频道


前言

最近莫名其妙的消费有点多了,比如今天的主角 SSL 证书。Let's encrypt 的证书三月一签也不是不能用,况且也都能自动续签了。但是,就是那么一闪念,在 namecheap 买了两年证书,单域名 DV 证书,共花了 15$。

第一次购买证书,记录下安装过程。

生成 CSR 文件

在 namecheap 购买了证书之后,需要自己先生成 CSR (Certificate Signing Request) 文件,用来激活证书。

服务器上已经安装了 lnmp 环境,所以可以直接使用 openssl 来生成 CSR 文件。

  1. 输入以下命令:

    # 替换 your.domain.name 为自己的域名
    # 加上 -utf8 参数,允许中文
    openssl req -utf8 -new -newkey rsa:2048 -nodes -keyout your.domain.name.key -out your.domain.name.csr
    • key : 私钥文件
    • csr: CSR 文件
  2. 然后输入一些申请证书需要的信息,示例如下:

    Country Name (2 letter code) [AU]:CN
    State or Province Name (full name) [Some-State]:Jiangsu
    Locality Name (eg, city) []:Nanjing
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:方寸间
    Organizational Unit Name (eg, section) []:Blog 
    Common Name (e.g. server FQDN or YOUR name) []:withdewhua.space
    Email Address []:i@withdewhua.space  
    
    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:
    An optional company name []:
    • Country Name:国际代码
    • State or Province Name:省份
    • Locality Name:城市
    • Organization Name:组织名称
    • Organizational Unit Name:组织部门名称
    • Common Name:申请证书的域名
    • Email Address:邮箱
  3. 然后就会在当前目录下生成 key 和 csr 文件了

弄完之后才知道有 CSR 请求生成工具,比如 CSR 生成

提交 CSR 文件

  1. 复制 yourdomain.name.cert 文件内容,提交给 CA 认证机构。
  2. 验证域名所有权,支持三种方式:

    • Email 验证
    • HTTP 验证
    • DNS 验证
  3. 验证成功之后,namecheap 会将证书文件等(自己域名的证书以及CA的证书)发送到邮箱。

Nginx 安装证书

  1. 拿到证书文件之后,上传至服务器,对于 nginx 来说,需合并成一个文件:

    # 如拿到的证书文件为
    # your.domain.name.cert your.domain.name.ca-bundle
    cat your.domain.name.cert your.domain.name.ca-bundle >> cert_chain.crt
  2. 编辑 nginx 的虚拟主机文件,将证书指向 step1 中的 cert_chain.crt,将密钥指向生成 CSR 文件时生成的私钥文件。示例:

    server {
        listen 443;
        ssl on;
        ssl_certificate /your/path/to/cert_chain.crt;
        ssl_certificate_key /your/path/to/your.domain.name.key;
        ...
        }

> 本文链接:https://10101.io/2019/11/01/install-ssl-cert
> 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可,转载请注明出处。

最后编辑于: 2019 年 11 月 11 日
返回文章列表 文章二维码 打赏
本页链接的二维码
打赏二维码
添加新评论

已有 2 条评论
  1. 发现你换域名了,旧域名以后还用吗?

    1. @Dylan Wu旧域名时间还长,不过以后可能不会续,所以还是麻烦你改下友链的域名了,谢谢!