Let's Encrypt泛域名SSL证书申请

操做系统:CentOS 7nginx

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

一:安装acme.sh

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

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

二:生成SSL证书.

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

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

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

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

--force 能够在更新的时候直接使用.网站

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

三:安装到nginx

命令:url

./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,查看到相应的文件.spa

由于要更新多个域名 ...因此没有直接从新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天有效期...到期后须要续期.

相关文章
相关标签/搜索