使用acme.sh脚本在linux下自动创建 Let's Encrypt证书,可以给网站加上SSL锁,并且是泛域名,免费
安装 acme.sh 脚本
curl https://get.acme.sh | sh
此时系统有了 acme.sh 的命令
生成域名证书
采用自动dns验证的方式,以DNSPOD的域名解析为例
- 首先在DNSPOD的网站生成 APP_ID 和 APP_KEY
登陆DNSPOD,安全设置,API Token,创建API Token 即可
- 生成证书
# 将DNSPOD的API TOKEN 导入到系统变量中
export DP_Id="abc123456"
export DP_Key="sADDsdasdgdsf"
acme.sh --issue --dns dns_dp -d '*.tinnypea.com'
使用acme生成的使用(以nginx为例)
# 生成nginx可用的ssl证书
acme.sh --installcert -d *.tinnypea.com \
--key-file /home/ubuntu/ssl/tinnypea.com.key \
--fullchain-file /home/ubuntu/ssl/fullchain.cer \
--reloadcmd "sudo service nginx force-reload"
# 此时生成了 nginx可用的ssl证书,并且放在了 /home/ubuntu/ssl/目录下
# nginx做如下配置
cd /etc/nginx/sites-enabled
vi defalut
# 把80端口做301跳转到https 443
server {
listen 80;
server_name tinnypea.com,www.tinnypea.com;
return 301 https://www.tinnypea.com$request_uri;
}
vi /etc/nginx/nginx.conf
# http部分设置ssl证书的路径
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_certificate /home/ubuntu/ssl/fullchain.cer;
ssl_certificate_key /home/ubuntu/ssl/tinnypea.com.key;
网友评论