• Let’s Encrypt Wildcard 免费泛域名SSL证书获取安装


    2018 年 1 月Let’s Encrypt CA 宣布免费提供通配符证书(Wildcard certificate)。通配符证书是一种可被多个子域使用的公钥证书。这意味着,单个证书可用于提供多台服务器或一台服务器托管的多个子域名的网页加密,显著降低了个人和小型企业采用 HTTPS 的门槛。

    acme.sh 实现了 acme 协议, 可以从 letsencrypt 生成免费的证书。安装很简单, 一个命令:

    curl https://get.acme.sh | sh

    acme.sh 会自动安装到你的用户home目录:~/.acme.sh/并创建 一个 bash 的 alias, 方便使用: acme.sh=~/.acme.sh/acme.sh

    附录:各大DNS API获取与签发SSL
    泛域名解析请将-d www.example.com修改为-d *.example.com
    1 CloudFlare DNS API

    First you need to login to your CloudFlare account to get your API key.

    export CF_Key="sdfsdfsdfljlbjkljlkjsdfoiwje"
    export CF_Email="xxxx@sss.com"

    Ok, let’s issue a cert now:

    acme.sh --issue --dns dns_cf -d example.com -d www.example.com

    The CF_Key and CF_Email will be saved in ~/.acme.sh/account.conf and will be reused when needed.

    2 DNSPod DNS API

    First you need to login to your DNSPod account to get your API Key and ID.

    export DP_Id="1234"
    export DP_Key="sADDsdasdgdsf"

    Ok, let’s issue a cert now:

    acme.sh --issue --dns dns_dp -d example.com -d www.example.com

    The DP_Id and DP_Key will be saved in ~/.acme.sh/account.conf and will be reused when needed.

    3 CloudXNS DNS API

    First you need to login to your CloudXNS account to get your API Key and Secret.

    export CX_Key="1234"
    export CX_Secret="sADDsdasdgdsf"

    Ok, let’s issue a cert now:

    acme.sh --issue --dns dns_cx -d example.com -d www.example.com

    The CX_Key and CX_Secret will be saved in ~/.acme.sh/account.conf and will be reused when needed.

    4 阿里云Aliyun DNS API

    First you need to login to your 阿里云 Aliyun account to get your API key. https://ak-console.aliyun.com/#/accesskey

    export Ali_Key="sdfsdfsdfljlbjkljlkjsdfoiwje"
    export Ali_Secret="jlsdflanljkljlfdsaklkjflsa"

    Ok, let’s issue a cert now:

    acme.sh --issue --dns dns_ali -d example.com -d www.example.com

    The Ali_Key and Ali_Secret will be saved in ~/.acme.sh/account.conf and will be reused when needed.

    5 GoDaddy DNS API

    First you need to login to your GoDaddy account to get your API Key and Secret. https://developer.godaddy.com/keys/

    Please create a Production key, instead of a Test key.

    export GD_Key="sdfsdfsdfljlbjkljlkjsdfoiwje"
    export GD_Secret="asdfsdafdsfdsfdsfdsfdsafd"

    Ok, let’s issue a cert now:

    acme.sh --issue --dns dns_gd -d example.com -d www.example.com

    The GD_Key and GD_Secret will be saved in ~/.acme.sh/account.conf and will be reused when needed.

    6 PowerDNS DNS API

    First you need to login to your PowerDNS account to enable the API and set your API-Token in the configuration. https://doc.powerdns.com/md/httpapi/README/

    export PDNS_Url="http://ns.example.com:8081"
    export PDNS_ServerId="localhost"
    export PDNS_Token="0123456789ABCDEF"
    export PDNS_Ttl=60

    Ok, let’s issue a cert now:

    acme.sh --issue --dns dns_pdns -d example.com -d www.example.com

    The PDNS_Url, PDNS_ServerId, PDNS_Token and PDNS_Ttl will be saved in ~/.acme.sh/account.conf and will be reused when needed.

    7 Amazon Route53 DNS API

    方法见:https://github.com/Neilpang/acme.sh/wiki/How-to-use-Amazon-Route53-API

    export AWS_ACCESS_KEY_ID=XXXXXXXXXX
    export AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXXXXX

    To issue a cert:

    acme.sh --issue --dns dns_aws -d example.com -d www.example.com

    The AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY will be saved in ~/.acme.sh/account.conf and will be reused when needed.

    8 Linode DNS API

    First you need to login to your Linode account to get your API Key. https://manager.linode.com/profile/api

    Then add an API key with label ACME and copy the new key.

    export LINODE_API_KEY="..."

    Due to the reload time of any changes in the DNS records, we have to use the dnssleep option to wait at least 15 minutes for the changes to take effect.

    Ok, let’s issue a cert now:

    acme.sh --issue --dns dns_linode --dnssleep 900 -d example.com -d www.example.com

    The LINODE_API_KEY will be saved in ~/.acme.sh/account.conf and will be reused when needed.

    9 DigitalOcean DNS API (native)

    You need to obtain a read and write capable API key from your DigitalOcean account. See: https://www.digitalocean.com/help/api/

    export DO_API_KEY="92ae126553ebd61ac3a3ae34834cc"

    Ok, let’s issue a cert now:

    acme.sh --issue --dns dns_dgon -d example.com -d www.example.com

    10 Namesilo DNS API

    You’ll need to generate an API key at https://www.namesilo.com/account_api.php Optionally you may restrict the access to an IP range there.

    export Namesilo_Key="xxxxxxxxxxxxxxxxxxxxxxxx"

    And now you can issue certs with:

    acme.sh --issue --dns dns_namesilo --dnssleep 900 -d example.com -d www.example.com

    11 使用自定义API

    If your API is not supported yet, you can write your own DNS API.

    Let’s assume you want to name it ‘myapi’:

    Create a bash script named

    ~/.acme.sh/dns_myapi.sh

    In the script you must have a function named dns_myapi_add() which will be called by acme.sh to add the DNS records.

    Then you can use your API to issue cert like this:

    acme.sh --issue --dns dns_myapi -d example.com -d www.example.com
  • 相关阅读:
    Excel 之查找与替换
    重拾Excel之为什么
    taobao
    祝我生日快乐
    啊哈哈哈哈!自由啦
    我是不是得了抑郁症?
    Be quiet
    tcpdump tutorial
    Java Thread 多线程同步、锁、通信
    java 堆、栈、常量池等
  • 原文地址:https://www.cnblogs.com/linuxde/p/8707614.html
Copyright © 2020-2023  润新知