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

  • 相关阅读:
    oracle调用存储过程和函数返回结果集
    怎样让Oracle的存储过程返回结果集
    Java 调用存储过程 返回结果集
    oracle多表关联删除数据表记录方法
    ORACLE多表关联UPDATE 语句
    Oracle--用户管理与权限分配
    java代码开启关闭线程(nginx)
    netty实现websocket客户端(附:测试服务端代码)
    netty同时实现http与socket
    Oracle-控制语句
  • 原文地址:https://www.cnblogs.com/iitrust/p/12333808.html
Copyright © 2011-2022 走看看