使用acme.sh申請Let's Encrypt 免費HTTPS證書.

操作系統(tǒng):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域名網(wǎng)站相應目錄下放置一個文件,然后經(jīng)過這個文件進行認證
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 現(xiàn)在只有60天有效期...到期后需要續(xù)期.

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容