Letsencrypt.org CA免费证书生成

Letsencrypt.org CA免费证书使用

Let's 支持多中客户端,这里使用acme.sh客户端配置免费证书。

acme.sh优点:

github官方地址

  • 纯用Shell(Unix外壳)语言编写的ACME协议客户端。
  • 完整的ACME协议实施。
  • 支持ACME v1和ACME v2
  • 支持ACME v2通配符证书
  • 简单,强大且非常易于使用。您只需要3分钟即可学习。
  • Bash,破折号和sh兼容。
  • 让我们加密免费证书客户端的最简单的shell脚本。
  • 完全用Shell编写,不依赖python或官方的Let's Encrypt客户端。
  • 只需一个脚本即可发布,续订和自动安装证书。
  • 不需要root/sudoer访问。
  • Docker友好
  • IPv6支持
  • 以进行续订或错误等Cron作业通知。

使用:

acme.sh安装:

1、 在线安装

curl https://get.acme.sh | sh
或者
wget -O -  https://get.acme.sh | sh

2、git安装

git clone https://github.com/Neilpang/acme.sh.git
cd ./acme.sh
./acme.sh --install

程序将执行3个操作:

  1. 创建和复制acme.sh到你的主目录($HOME~/.acme.sh/。所有证书也将放置在此文件夹中。
  2. 为创建别名acme.sh=~/.acme.sh/acme.sh
  3. 如果需要,创建每日cron作业以检查并更新证书。

cron 示例:

$HOME 为用户目录,注意修改为自己的实际用户目录

0 0 * * * "$HOME/.acme.sh"/acme.sh --cron --home "$HOME/.acme.sh" > /dev/null

几种生成证书的情形:

  • 只需颁发证书

    acme.sh --issue -d example.com -w /home/wwwroot/example.com
    or:
    
    acme.sh --issue -d example.com -w /home/username/public_html
    or:
    
    acme.sh --issue -d example.com -w /var/www/html
    
  • 同证书下多个子域名

acme.sh --issue -d example.com -d www.example.com -d cp.example.com -w /home/wwwroot/example.com

-w 参数为web服务的根路径,必须要具备此文件的写权限

证书将被放置在 ~/.acme.sh/example.com/

证书将每60天自动更新一次。
  • 将证书安装到Apache / Nginx等。

Apache example:

acme.sh --install-cert -d example.com \
--cert-file      /path/to/certfile/in/apache/cert.pem  \
--key-file       /path/to/keyfile/in/apache/key.pem  \
--fullchain-file /path/to/fullchain/certfile/apache/fullchain.pem \
--reloadcmd     "service apache2 force-reload"
Nginx example:

acme.sh --install-cert -d example.com \
--key-file       /path/to/keyfile/in/nginx/key.pem  \
--fullchain-file /path/to/fullchain/nginx/cert.pem \
--reloadcmd     "service nginx force-reload"
  • 使用apache 模式

    如果您正在运行Web服务器(Apache或Nginx),建议使用Webroot mode。
    acme.sh --issue --apache -d example.com -d www.example.com -d cp.example.com
    
    此模式不会讲任何文件些人web根文件夹,第二个参数指定使用apache 模式,将强制使用apache插件。
    此apache模式仅用于颁发证书,不会更改您的apache配置文件。您将需要配置您的网站配置文件以自己使用证书。我们不会乱您的apache服务器,不用担心。
    
    

    [更多示例](https : //github.com/Neilpang/acme.sh/wiki/How-to-issue-a-cert)

  • 使用Nginx模式

    同apache 模式一样,如果正在使用web服务器nginx,推荐使用这种方式,只需将第二参数指定为nginx 即可
    acme.sh --issue --nginx -d example.com -d www.example.com -d cp.example.com
    

    注意事项:指定插件方式,注意将nginx,apacha的命令配置到了环境变量路径下,可以直接使用nginx,httpd执行命令

  • 发行通配符证书

acme.sh --issue -d example.com -d ' * .example.com '--   dns dns_cf
  • 续订证书

    默认所有证书将每60天自动更新换一次,但是也可以强行更新:
    acme.sh --renew -d example.com --force
    
  • 如何停止证书续订

acme.sh --remove -d example.com [--ecc]
  • 如何升级acme.sh

acme.sh正在不断开发中,因此强烈建议使用最新代码。

您可以将acme.sh更新为最新代码:
acme.sh --upgrade

您还可以启用自动升级:
acme.sh --upgrade --auto-upgrade

然后acme.sh将自动保持最新。

禁用自动升级:

acme.sh --upgrade --auto-upgrade 0

posted @ 2019-12-19 23:01  纵马疾驰  阅读(1058)  评论(0编辑  收藏  举报