Loading... ## 前言 最近莫名其妙的消费有点多了,比如今天的主角 SSL 证书。Let's encrypt 的证书三月一签也不是不能用,况且也都能自动续签了。但是,就是那么一闪念,在 namecheap 买了两年证书,单域名 DV 证书,共花了 15$。 第一次购买证书,记录下安装过程。 ## 生成 CSR 文件 在 namecheap 购买了证书之后,需要自己先生成 CSR (Certificate Signing Request) 文件,用来激活证书。 服务器上已经安装了 lnmp 环境,所以可以直接使用 openssl 来生成 CSR 文件。 1. 输入以下命令: ```bash # 替换 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. 然后输入一些申请证书需要的信息,示例如下: ```bash 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 文件了 <div class="tip inlineBlock warning"> 弄完之后才知道有 CSR 请求生成工具,比如 [CSR 生成](https://www.sslceshi.com/csr_generate/) </div> ## 提交 CSR 文件 1. 复制 `yourdomain.name.csr` 文件内容,提交给 CA 认证机构。 2. 验证域名所有权,支持三种方式: - Email 验证 - HTTP 验证 - DNS 验证 3. 验证成功之后,namecheap 会将证书文件等(自己域名的证书以及CA的证书)发送到邮箱。 ## Nginx 安装证书 1. 拿到证书文件之后,上传至服务器,对于 nginx 来说,需合并成一个文件: ```bash # 如拿到的证书文件为 # 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 文件时生成的私钥文件。示例: ```bash server { listen 443; ssl on; ssl_certificate /your/path/to/cert_chain.crt; ssl_certificate_key /your/path/to/your.domain.name.key; ... } ``` 最后修改:2021 年 06 月 04 日 © 允许规范转载 赞 0 如果觉得我的文章对你有用,请随意赞赏
2 条评论
发现你换域名了,旧域名以后还用吗?
旧域名时间还长,不过以后可能不会续,所以还是麻烦你改下友链的域名了,谢谢!