zoukankan      html  css  js  c++  java
  • 申请Let’s Encrypt通配符HTTPS证书(certbot ACME v2版)

    1.获取certbot-auto
    # 下载

    # 下载
    wget https://dl.eff.org/certbot-auto
    
    # 设为可执行权限
    chmod a+x certbot-auto

    2.开始申请证书
    客户在申请 Let’s Encrypt 证书的时候,需要校验域名的所有权,证明操作者有权利为该域名申请证书,目前支持三种验证方式:

    dns-01:给域名添加一个 DNS TXT 记录。
    http-01:在域名对应的 Web 服务器下放置一个 HTTP well-known URL 资源文件。
    tls-sni-01:在域名对应的 Web 服务器下放置一个 HTTPS well-known URL 资源文件。

    而申请通配符证书,只能使用 dns-01 的方式
    介绍下相关参数:
    certonly,表示安装模式,Certbot 有安装模式和验证模式两种类型的插件。
    --manual 表示手动安装插件,Certbot 有很多插件,不同的插件都可以申请证书,用户可以根据需要自行选择
    -d 为那些主机申请证书,如果是通配符,输入 *.xxx.com(你自己的域名)
    --preferred-challenges dns-01,使用 DNS 方式校验域名所有权
    --server,Let's Encrypt ACME v2 版本使用的服务器不同于 v1 版本,需要显示指定。

    # 注xxx.com请根据自己的域名自行更改,通配符证书必须指定 --server 参数,并使用 acme v2 版本
    ./certbot-auto -d "*.xxx.com" --manual --preferred-challenges dns-01 certonly --server https://acme-v02.api.letsencrypt.org/directory

    执行完这一步之后,会下载一些需要的依赖,稍等片刻之后,会提示输入邮箱,随便输入都行【该邮箱用于安全提醒以及续期提醒】

    注意,申请通配符证书是要经过DNS认证的,按照提示,前往域名后台添加对应的DNS TXT记录。添加之后,不要心急着按回车,先执行dig xxxx.xxx.com txt确认解析记录是否生效,生效之后再回去按回车确认

    dig 命令安装:yum install bind-utils

    到了这一步后,大功告成!!! 证书存放在/etc/letsencrypt/live/xxx.com/里面

    要续期的话,执行certbot-auto renew就可以了

    注:这样的证书无法应用到主域名xxx.com上,如需把主域名也增加到证书的覆盖范围,请在开始申请证书步骤的那个指令把主域名也加上,如下: 需要注意的是,这样的话需要修改两次解析记录

    ./certbot-auto -d "*.xxx.com" -d "xxx.com" --manual --preferred-challenges dns-01 certonly --server https://acme-v02.api.letsencrypt.org/directory

    下面是一个nginx应用该证书的一个例子

    server {
        server_name xxx.com;
        listen 443 http2 ssl;
        ssl on;
        ssl_certificate /etc/cert/xxx.cn/fullchain.pem;
        ssl_certificate_key /etc/cert/xxx.cn/privkey.pem;
        ssl_trusted_certificate  /etc/cert/xxx.cn/chain.pem;
    
        location / {
          proxy_pass http://127.0.0.1:6666;
        }
    }

    这是客户机(apache)上的一个示例

    <VirtualHost _default_:443>
            ServerName abc.com
            ServerAlias abc.com www.abc.com
            DocumentRoot "/var/www/host/abc.com"
            <Directory "/var/www/host/abc.com">
                Options Indexes FollowSymLinks
                AllowOverride All
                Order allow,deny
                Allow From All
            </Directory>
            RewriteEngine on
            RewriteCond %{HTTP_HOST} ^abc.com [NC]
            RewriteRule ^(.*) http://www.abc.com/ [L]    
            Include /etc/letsencrypt/options-ssl-apache.conf
            SSLCertificateFile /etc/letsencrypt/live/abc.com-0001/cert.pem
            SSLCertificateKeyFile /etc/letsencrypt/live/abc.com-0001/privkey.pem
            SSLCertificateChainFile /etc/letsencrypt/live/abc.com-0001/chain.pem
        </VirtualHost>

    转自:

    https://www.jianshu.com/p/f75396b61779

  • 相关阅读:
    Codeforces 451A Game With Sticks
    POJ 3624 Charm Bracelet
    POJ 2127 Greatest Common Increasing Subsequence
    POJ 1458 Common Subsequence
    HDU 1087 Super Jumping! Jumping! Jumping!
    HDU 1698
    HDU 1754
    POJ 1724
    POJ 1201
    CSUOJ 1256
  • 原文地址:https://www.cnblogs.com/iitrust/p/12333808.html
Copyright © 2011-2022 走看看