操作系統(tǒng):CentOS 7
github:https://github.com/Neilpang/acme.sh
有中文說明:
https://github.com/Neilpang/acme.sh 很詳細(xì).
一:安裝acme.sh
wget https://get.acme.sh | sh
安裝完成后的目錄在/root/.acme.sh/下面.
直接使用 cd /root/.acme.sh 命令 進(jìn)入.acme.sh目錄.
二:生成SSL證書.
生成證書直接需要認(rèn)證域名的所有權(quán).
有三種方式
1:在你域名的HTTP域名網(wǎng)站相應(yīng)目錄下放置一個(gè)文件,然后經(jīng)過這個(gè)文件進(jìn)行認(rèn)證
2:在相應(yīng)的域名上增加一個(gè)TXT解析.
3:使用相應(yīng)的域名解析商(DNS服務(wù)商)的API
我使用的阿里云的解析服務(wù),看了一下,可以支持.
直接使用第三種方式.具體支持的DNS見:
https://github.com/Neilpang/acme.sh/blob/master/dnsapi/README.md (英文的)
在acme.sh目錄下面有一個(gè)account.conf文件...增加Ali_Key和Ali_Secretf二個(gè)值....是阿里云的密鑰.
命令行:
./acme.sh --issue --dns dns_ali --force -d abc.domain.com
--force 可以在更新的時(shí)候直接使用.
生成成功會有提示...并且自動建立一個(gè)abc.domain.com的目錄.相關(guān)的證書文件保存在這個(gè)目錄下面..
三:安裝到nginx
命令:
./acme.sh --installcert -d abc.domain.com
--keypath /etc/nginx/ssl/abc.domain.com.key
--fullchainpath /etc/nginx/ssl/abc.domain.com.cer
命令運(yùn)行成功,可在ls /etc/nginx/ssl,查看到相應(yīng)的文件.
因?yàn)橐露鄠€(gè)域名 ...所以沒有直接重新nginx
四:nginx配置
修改/etc/nginx/nginx.conf文件
server {
listen 443 ssl;
server_name abc.domain.com;
ssl on;
ssl_certificate ssl/abc.domain.com.cer;
ssl_certificate_key ssl/abc.domain.com.key;
location / {
proxy_pass http://127.0.0.1:8001;
}
}
# 80端口直接轉(zhuǎn)到443
server {
listen 80;
server_name abc.domain.com;
return 301 https://$server_name$request_uri;
}
可以把相應(yīng)的命令放到一個(gè)文件中...然后直接使用.
Let's Encrypt 現(xiàn)在只有60天有效期...到期后需要續(xù)期.