Centos 7 使用 certbot 安裝Let’s Encrypt SSL 證書
安裝環境
- CentOS7 主機
- Nginx
主要步驟
- 安裝客戶端
#如果你已經安裝了EPEL,這個步驟可以省略
$ sudo yum install epel-release
#安裝certbot客戶端
$ sudo yum install certbot
- 使用certbot嚮導安裝,有界面,根據指示一步步操作就行,但是YCHEUNG進行到設置webroot的時候就error了,只好放棄
$certbot certonly
如果失敗,可以自行使用命令行安裝(往下看)
- 使用命令行安裝
即,用 certbot certonly
命令,加上參數 --webroot
表示使用webroot的方式安裝,或者你也可以使用--standalone
方式安裝,standalone安裝需要使用80端口,也就是說一般你的站點需要暫停運行一段時間,不太友好。webroot
則是它會生成一些文件到你的網站目錄下,然後訪問看驗證是否存在,所以使用這種方式的話,你需要在 nginx 裡面做設置,使它生成的驗證文件能夠被訪問。
- NGINX設置
在這個站點的nginx配置文件中的 server
block尾部加入:
server{
...
location ^~ /.well-known/acme-challenge/ {
default_type "text/plain";
}
location = /.well-known/acme-challenge/ {
return 404;
}
}
然後重啟或者重新加載nginx: service nginx reload
之後再運行certbot命令:
$ certbot certonly --webroot -w /var/www/example -d example.com -d www.example.com -w /var/www/thing -d thing.is -d m.thing.is
-w
後面指定你網站所在的根目錄, -d
後面指定一個網站域名,如果多個域名指向同一個根目錄,可以再加一個 -d
。
- 運行結果
成功!!
證書拿到了以後...
- 更改nginx配置,把來自HTTP的訪問都跳轉去HTTPS
- 證書有效期大約3個月,所以還要寫一個定時任務去更新正書
更新證書
可以寫定時任務更新, certbot renew --quiet
,也可以直接執行以下命令:
certbot renew
刪除證書
輸入命令後,會給出證書列表供選擇刪除。
certbot delete
參考
- Let's Encrypt SSL (官網)
- Certbot ACME client
- CentOS 7 Nginx Let’ s Encrypt SSL 证书安装配置 --发表于2016年3月3日 10:01