zoukankan      html  css  js  c++  java
  • debian+apache+acme_tiny+lets-encrypt配置笔记

    需要预先将需要申请ssl的域名指向到服务器,此方法完全通过api实现,好处是绿色无污染,不需要注册账号,不会泄露私人信息
    环境为 debian7+apache

    apt-get install apache2
    a2enmod rewrite
    a2enmod ssl
    apt-get install php5 php-pear
    vi /etc/apache2/sites-enabled/000-default
    ---------------------------000-default------------------------
    Alias /.well-known/acme-challenge/ /var/www/challenges/
    --------------------------------------------------------------
    mkdir /var/www/challenges
    
    mkdir /etc/apache2/ssl
    cd /etc/apache2/ssl
    openssl genrsa 4096 > account.key
    openssl genrsa 4096 > domain.key
    openssl req -new -sha256 -key domain.key -subj "/" -reqexts SAN -config <(cat /etc/ssl/openssl.cnf <(printf "[SAN]
    subjectAltName=DNS:domain.com,DNS:www.domain.com")) > domain.csr
    wget https://raw.githubusercontent.com/diafygi/acme-tiny/master/acme_tiny.py
    python acme_tiny.py --account-key ./account.key --csr ./domain.csr --acme-dir /var/www/challenges/ > ./signed.crt
    wget -O - https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem > intermediate.pem
    
    --------------------------------------------------------------
    a2ensite default-ssl
    ------------------default-ssl---------------------------------
    SSLCertificateFile /etc/apache2/ssl/signed.crt
    SSLCertificateKeyFile /etc/apache2/ssl/domain.key
    SSLCertificateChainFile /etc/apache2/ssl/intermediate.pem
    --------------------------------------------------------------
    
    
    
    vi /etc/apache2/ssl/renew.sh
    ------------------------------renew.sh-------------------------
    #!/bin/bash
    
    cd /etc/apache2/ssl
    python acme_tiny.py --account-key ./account.key --csr ./domain.csr --acme-dir /var/www/challenges/ > ./signed.crt || exit
    wget -O - https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem > intermediate.pem
    /etc/init.d/apache2 reload
    
    --------------------------------------------------------------
    
    crontab -e
    
    ------------------crontab--------------------------------
    0 0 1 * * /etc/apache2/ssl/renew.sh >/dev/null 2>&1
    --------------------------------------------------------------
    

      nginx设置

    location /.well-known/acme-challenge/ {
            alias /var/www/challenges/
    ; }
    cat signed.crt intermediate.pem > mysite.crt #合并证书
    
    
    nginx配置
    ssl_certificate /root/bin/nginx/conf/custom/cert/mysite.crt;
    ssl_certificate_key /root/bin/nginx/conf/custom/cert/zorelworld.key;
  • 相关阅读:
    python PyQt5
    传入一张图,生成它的油画版!(python实现)(转 )
    Python——画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔)(转)
    Python3.7实现自动刷博客访问量(只需要输入用户id)(转)
    Python3 多线程的两种实现方式
    图片生成字符
    SqlServer性能优化 通过压缩与计算列提高性能(十一)
    json与bson的区别
    浅析Redis 和MongoDB
    Solr DocValues详解
  • 原文地址:https://www.cnblogs.com/charie/p/5459344.html
Copyright © 2011-2022 走看看