申請Let’s Encrypt通配符HTTPS證書(certbot ACME v2版)


1.獲取certbot-auto
# 下載

# 下載
wget https://dl.eff.org/certbot-auto

# 設為可執行權限
chmod a+x certbot-auto

2.開始申請證書
客戶在申請 Let’s Encrypt 證書的時候,需要校驗域名的所有權,證明操作者有權利為該域名申請證書,目前支持三種驗證方式:

dns-01:給域名添加一個 DNS TXT 記錄。
http-01:在域名對應的 Web 服務器下放置一個 HTTP well-known URL 資源文件。
tls-sni-01:在域名對應的 Web 服務器下放置一個 HTTPS well-known URL 資源文件。

而申請通配符證書,只能使用 dns-01 的方式
介紹下相關參數:
certonly,表示安裝模式,Certbot 有安裝模式和驗證模式兩種類型的插件。
--manual 表示手動安裝插件,Certbot 有很多插件,不同的插件都可以申請證書,用戶可以根據需要自行選擇
-d 為那些主機申請證書,如果是通配符,輸入 *.xxx.com(你自己的域名)
--preferred-challenges dns-01,使用 DNS 方式校驗域名所有權
--server,Let's Encrypt ACME v2 版本使用的服務器不同於 v1 版本,需要顯示指定。

# 注xxx.com請根據自己的域名自行更改,通配符證書必須指定 --server 參數,並使用 acme v2 版本
./certbot-auto -d "*.xxx.com" --manual --preferred-challenges dns-01 certonly --server https://acme-v02.api.letsencrypt.org/directory

執行完這一步之后,會下載一些需要的依賴,稍等片刻之后,會提示輸入郵箱,隨便輸入都行【該郵箱用於安全提醒以及續期提醒】

注意,申請通配符證書是要經過DNS認證的,按照提示,前往域名后台添加對應的DNS TXT記錄。添加之后,不要心急着按回車,先執行dig xxxx.xxx.com txt確認解析記錄是否生效,生效之后再回去按回車確認

dig 命令安裝:yum install bind-utils

到了這一步后,大功告成!!! 證書存放在/etc/letsencrypt/live/xxx.com/里面

要續期的話,執行certbot-auto renew就可以了

注:這樣的證書無法應用到主域名xxx.com上,如需把主域名也增加到證書的覆蓋范圍,請在開始申請證書步驟的那個指令把主域名也加上,如下: 需要注意的是,這樣的話需要修改兩次解析記錄

./certbot-auto -d "*.xxx.com" -d "xxx.com" --manual --preferred-challenges dns-01 certonly --server https://acme-v02.api.letsencrypt.org/directory

下面是一個nginx應用該證書的一個例子

server {
    server_name xxx.com;
    listen 443 http2 ssl;
    ssl on;
    ssl_certificate /etc/cert/xxx.cn/fullchain.pem;
    ssl_certificate_key /etc/cert/xxx.cn/privkey.pem;
    ssl_trusted_certificate  /etc/cert/xxx.cn/chain.pem;

    location / {
      proxy_pass http://127.0.0.1:6666;
    }
}

這是客戶機(apache)上的一個示例

<VirtualHost _default_:443>
        ServerName abc.com
        ServerAlias abc.com www.abc.com
        DocumentRoot "/var/www/host/abc.com"
        <Directory "/var/www/host/abc.com">
            Options Indexes FollowSymLinks
            AllowOverride All
            Order allow,deny
            Allow From All
        </Directory>
        RewriteEngine on
        RewriteCond %{HTTP_HOST} ^abc.com [NC]
        RewriteRule ^(.*) http://www.abc.com/ [L]    
        Include /etc/letsencrypt/options-ssl-apache.conf
        SSLCertificateFile /etc/letsencrypt/live/abc.com-0001/cert.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/abc.com-0001/privkey.pem
        SSLCertificateChainFile /etc/letsencrypt/live/abc.com-0001/chain.pem
    </VirtualHost>

 

 

轉自:

https://www.jianshu.com/p/f75396b61779


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM