zoukankan      html  css  js  c++  java
  • 使用 certbot 申请泛域名https证书

    使用 certbot 申请泛域名https证书

    Intro

    Certbot 是一个基于 Let's Encrypt 的自动化申请证书的工具,支持的系统和web server也很多,详见 Certbot 官网

    Certbot 有一些 dns 插件可以自动化的不需要手动设置 dns 等方式来验证域名的所属,但是基本是一些国外的大型 DNS 提供商的,针对国内的话通过DNS验证的话还是需要手动验证DNS记录,这里主要介绍手动验证,通过DNS插件自动验证请参考 certbot 官网

    手动验证 DNS

    1. 安装 Certbot,具体步骤参考官网

      $ sudo apt-get update
      $ sudo apt-get install software-properties-common
      $ sudo add-apt-repository universe
      $ sudo add-apt-repository ppa:certbot/certbot
      $ sudo apt-get update
      $ sudo apt-get install certbot python-certbot-nginx
      
    2. 申请 HTTPS 证书

      安装好 certbot 之后,在命令行中执行以下命令:

      sudo certbot certonly  -d "*.weihanli.xyz" -d weihanli.xyz --manual --preferred-challenges dns-01  --server https://acme-v02.api.letsencrypt.org/directory
      

      执行完命令之后会提示需要记录 IP 信息,需要同意不然不能继续申请

    3. 设置 DNS TXT 记录

       

      按照提示,在自己的域名服务商那里添加或者修改 _ache-challenge 的 txt 记录,修改之后需要验证是否解析成功,验证方式详见后面,验证解析成功之后输入 Enter 键继续

    4. 证书申请成功

       

      如果出现这样的提示就说明证书已经申请成功了

    5. 配置 web server

      证书申请成功了就基本搞定了,有了证书之后就在服务器上配置一下就可以了

      nginx 配置示例:

      server {
        listen 80;
        listen 443;
        ssl_certificate            /etc/letsencrypt/live/weihanli.xyz/fullchain.pem;
        ssl_certificate_key      /etc/letsencrypt/live/weihanli.xyz/privkey.pem;
        if ($scheme = http) {
            return  301 https://$host$request_uri;
        }
        server_name weihanli.xyz;
      }
      

      重新加载 web 服务器配置或者重新重启web服务器以加载新证书,这里以重新加载 nginx 配置为例

      sudo nginx -s reload
      

    验证 DNS TXT 记录

    windows 系统上在命令行或 powershell 中执行以下命令:

    nslookup -q=txt _acme-challenge.weihanli.xyz
    
     

      

    注意生成的证书如果想在IIS里面用 需要导出pfx格式,方法如下

    openssl pkcs12 -export -out domain.pfx -inkey privkey.pem -in  fullchain.pem

    当然需要提前安装openssl

    Reference

  • 相关阅读:
    客户端命令行查看dubbo服务的生产者和消费者
    灰度发布
    灰度发布方法了解
    spring事务隔离级别
    小东西
    从excel表中生成批量SQL,将数据录入到数据库中
    CSV导出
    详解Java的自动装箱与拆箱(Autoboxing and unboxing)
    java多线程理解
    spring事务传播行为讲解转载
  • 原文地址:https://www.cnblogs.com/kevin860/p/12690063.html
Copyright © 2011-2022 走看看