美文网首页CentOS
使用acme.sh申请Let's Encrypt 免费H

使用acme.sh申请Let's Encrypt 免费H

作者: 方__子 | 来源:发表于2017-02-12 18:21 被阅读3660次

    操作系统:CentOS 7

    github:https://github.com/Neilpang/acme.sh
    有中文说明:
    https://github.com/Neilpang/acme.sh 很详细.

    一:安装acme.sh

    wget  https://get.acme.sh | sh
    

    安装完成后的目录在/root/.acme.sh/下面.
    直接使用 cd /root/.acme.sh 命令 进入.acme.sh目录.

    二:生成SSL证书.

    生成证书直接需要认证域名的所有权.
    有三种方式
    1:在你域名的HTTP域名网站相应目录下放置一个文件,然后经过这个文件进行认证
    2:在相应的域名上增加一个TXT解析.
    3:使用相应的域名解析商(DNS服务商)的API

    我使用的阿里云的解析服务,看了一下,可以支持.
    直接使用第三种方式.具体支持的DNS见:
    https://github.com/Neilpang/acme.sh/blob/master/dnsapi/README.md (英文的)

    在acme.sh目录下面有一个account.conf文件...增加Ali_Key和Ali_Secretf二个值....是阿里云的密钥.
    命令行:

    ./acme.sh --issue --dns dns_ali --force -d abc.domain.com
    

    --force 可以在更新的时候直接使用.

    生成成功会有提示...并且自动建立一个abc.domain.com的目录.相关的证书文件保存在这个目录下面..

    三:安装到nginx

    命令:

    ./acme.sh --installcert -d abc.domain.com 
              --keypath /etc/nginx/ssl/abc.domain.com.key 
              --fullchainpath /etc/nginx/ssl/abc.domain.com.cer
    

    命令运行成功,可在ls /etc/nginx/ssl,查看到相应的文件.

    因为要更新多个域名 ...所以没有直接重新nginx

    四:nginx配置

    修改/etc/nginx/nginx.conf文件

        server {
            listen       443 ssl;
            server_name  abc.domain.com;
    
            ssl on;
            
            ssl_certificate      ssl/abc.domain.com.cer;
            ssl_certificate_key  ssl/abc.domain.com.key;
    
            location / {
                proxy_pass   http://127.0.0.1:8001;
            }
        }
        # 80端口直接转到443
        server {
            listen      80;
            server_name    abc.domain.com;
            return      301 https://$server_name$request_uri;
        } 
    

    可以把相应的命令放到一个文件中...然后直接使用.
    Let's Encrypt 现在只有60天有效期...到期后需要续期.

    相关文章

      网友评论

        本文标题:使用acme.sh申请Let's Encrypt 免费H

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