• Let's Encrypt,免费好用的 HTTPS 证书


    https://imququ.com/post/letsencrypt-certificate.html

    1、

    openssl genrsa 4096 > account.key

    2、私钥

    openssl genrsa 4096 > domain.key

    3、csr文件生成

    DNS域名,可以多个,都要可以访问,注意用到了上面生成的文件

    openssl req -new -sha256 -key domain.key -subj "/" -reqexts SAN -config <(cat /etc/ssl/openssl.cnf <(printf "[SAN]
    subjectAltName=DNS:yoursite.com,DNS:www.yoursite.com")) > domain.csr

    其中,openssl.cnf文件位置,可以查找:

    find / -name 'openssl.cnf' 

    4.1、验证准备

    目录

    mkdir ~/www/challenges/

    访问引导,注意目录,不要忘记reload生效

    server {
    listen 80; server_name www.yoursite.com yoursite.com;    #验证访问 location
    ^~ /.well-known/acme-challenge/ { alias /home/xxx/www/challenges/; try_files $uri =404; } location / {
         #其他访问转向https rewrite
    ^/(.*)$ https://yoursite.com/$1 permanent; } }

    4.2 脚本文件

    https://github.com/diafygi/acme-tiny  需要及时更新

    5 验证

    注意用到了上面生成的两个文件,并提供验证目录

    python acme_tiny.py --account-key ./account.key --csr ./domain.csr --acme-dir ~/www/challenges/ > ./signed.crt

    通过验证后,当前目录下就会生成一个 signed.crt 证书文件。

    6 合并证书

    wget -O - https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem > intermediate.pem
    cat signed.crt intermediate.pem > chained.pem

    7开启(nginx配置,其他和http配置一样)

    server {
        server_name YOUR_DOMAINNAME_HERE;
        listen 443;
        ssl on;
        ssl_certificate     ~/www/ssl/chained.pem;
        ssl_certificate_key ~/www/ssl/domain.key;
    }

    6自动更新脚本

    Let's Encrypt 签发的证书只有 90 天有效期,用脚本定期更新。

    脚本内容和上面步骤一样,验证并获得证书,合并证书,最后重载nginx,注意目录

    #!/bin/bash
    
    cd /home/xxx/www/ssl/
    python acme_tiny.py --account-key account.key --csr domain.csr --acme-dir /home/xxx/www/challenges/ > signed.crt || exit
    wget -O - https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem > intermediate.pem
    cat signed.crt intermediate.pem > chained.pem
    service nginx reload

    7定期执行脚本

    可执行权限

    chmod a+x renew_cert.sh

    定期执行(每月一次)

    0 0 1 * * /home/xxx/shell/renew_cert.sh >/dev/null 2>&1
  • 相关阅读:
    This theme is released under creative commons licence, all links in the footer should remain intact解决方法 Fred
    增加ubuntu的内存——设置Swap增加内存
    OpenFlow硬件交换机制作及刷机教程
    ubuntu设置中文
    配置树莓派/Linux默认声卡设备
    github基础操作
    Linux手动添加系统环境共享库路径
    Ubuntu登录界面添加root用户登录选项
    python实现树莓派开机自动发送IP到指定邮箱
    语音信号实时采集与处理
  • 原文地址:https://www.cnblogs.com/mitang/p/6034828.html
Copyright © 2020-2023  润新知