在开发小程序过程中,无论是百度还是微信都需要https,而我们个人用户去买ssl证书会增加我们的运营成本.这里我找了一个可以免费生成https证书的工具.免费的,而且还能续期呢.
安装acme.sh
使用acme.sh来安装我们的letsencrypt证书.
curl https://get.acme.sh | sh
安装完成后,我们需要建立一个alias来执行我们的这个acme.sh.推荐移动到用户目录下的~/.acme.sh/下
## 创建目录并将命令移动到当前用户的用户目录下.
mkdir -p ~/.acme.sh/ && mv ./acme.sh ~/.acme.sh
## 创建别名.
alias acme.sh=~/.acme.sh/acme.sh
这样就安装好了
生成证书
最简单的方式是,如果你的nginx上有你监听的域名而且可以在公网上访问的.
# nginx服务器
acme.sh --issue -d 域名 --nginx
# apache服务器
acme.sh --issue -d 域名 --apache
这样就会生成证书了.
安装证书
前面证书生成以后, 接下来需要把证书 copy 到真正需要用它的地方.注意, 默认生成的证书都放在安装目录下: ~/.acme.sh/, 请不要直接使用此目录下的文件, 例如: 不要直接让 nginx/apache 的配置文件使用这下面的文件. 这里面的文件都是内部使用, 而且目录结构可能会变化.
正确的使用方式如下
acme.sh --installcert -d 域名 \
--key-file /etc/nginx/ssl/域名.key \
--fullchain-file /etc/nginx/ssl/fullchain.cer \
--reloadcmd "service nginx force-reload"
更新证书
目前证书在 60 天以后会自动更新, 你无需任何操作. 今后有可能会缩短这个时间, 不过都是自动的, 你不用关心.但是你需要更新acme.sh
acme.sh --upgrade
如果你不想手动升级, 可以开启自动升级:
acme.sh --upgrade --auto-upgrade
最后
如果在添加证书的过程中出错,使用参数–debug即可开启调试模式