美文网首页码农的世界搭建博客
使用Certbot获取Let's Encrypt免费Ht

使用Certbot获取Let's Encrypt免费Ht

作者: 四沟一 | 来源:发表于2018-05-21 18:14 被阅读15次

    因为阿里云的云主机在没有备案的情况下(备案比较复杂且无用), 80端口是关闭的, 这就导致想访问你的网址就必须在域名后加上端口号,非常不优雅.然而https默认监听443端口,这就给了我们一个方法去优雅的开放网站.
    如果我们要启用 HTTPS,就需要从证书授权机构(以下简称 CA ) 处获取一个证书,Let's Encrypt 就是一个 CA。
    Let's Encrypt 是一个免费、开放,自动化的证书颁发机构。
    Certbot 是 Let’s Encrypt 官方推荐的证书生成客户端工具

    安装Certbot

    git clone https://github.com/certbot/certbot
    或者
    sudo apt-get install certbot

    获取证书

    Certbot 获取证书有两种方式

    webroot模式

    这种模式适用于80端口在用且服务已经在运行的情况
    sudo certbot certonly --webroot -w /var/www/example -d example.com --agree-tos --email 你的@邮箱.com
    这种模式会在 /var/www/example 中创建 .well-known 文件夹,这个文件夹里面包含了一些验证文件,letsencrypt 会通过访问 example.com/.well-known/acme-challenge 来验证你的域名是否绑定的这个服务器

    • --email 指定账户
    • --agree-tos 同意服务协议

    standalone模式

    这种模式适用于80端口无法启用或者已启用服务没有根目录的情况
    sudo certbot certonly --standalone -d example.com --agree-tos --email 你的@邮箱.com
    ps.此模式需先关闭443端口在用的nginx,不然会出现错误:
    Problem binding to port 443: Could not bind to IPv4 or IPv6.

    证书申请成功后会提示证书的文件路径,以及证书到期时间:

    IMPORTANT NOTES:
     - Congratulations! Your certificate and chain have been saved at:
       /etc/letsencrypt/live/zhengwuyang.top/fullchain.pem
       Your key file has been saved at:
       /etc/letsencrypt/live/zhengwuyang.top/privkey.pem
       Your cert will expire on .......
    
    

    zhengwuyang.top即为你的域名

    nginx配置

    在配置文件中加入

        listen         443;
        ssl on;
        ssl_certificate /etc/letsencrypt/live/zhengwuyang.top/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/zhengwuyang.top/privkey.pem;
    

    zhengwuyang.top即为你的域名

    重启nginx就大功告成

    相关文章

      网友评论

        本文标题:使用Certbot获取Let's Encrypt免费Ht

        本文链接:https://www.haomeiwen.com/subject/eseqjftx.html